、 编写程序。从输入的若干个大于零的整数中选出最小值(输入-1时结束输入)。2、编写程序。写一个子函数fac求n!,然后再编写main()调用fac函数分别输出1~5的阶乘。二、程序填
作者:奥鹏远程作业辅导网 来源:本站 时间:2021-04-03热度:732
天津大学21春《C语言程序设计》离线大作业答案100
题目如下:
第一组:(www.apfudao.com)100分远程作业辅导网
一、编程题(每题20分,共40分)
1、 编写程序。从输入的若干个大于零的整数中选出最小值(输入-1时结束输入)。
2、编写程序。写一个子函数fac求n!,然后再编写main()调用fac函数分别输出1~5的阶乘。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于输出以下图形。
#include "stdio.h"
void main ( )
{ int i,j;
for(i=1;i<= ____①____;i++)
{ for(j=1; j<= 9-i ; ____②____)
printf (" ");
for(j=1;j<=i;j++)
printf("%c", ____③____ );
________④________;
}
}
2、程序由键盘输入10个整型数写入名为fdada.txt的文件
#include "stdio.h"
#include "process.h"
void main()
{ _____①_____ *fp;
int i,a;
if ((fp=fopen("_____②_____","w"))==NULL)
{ printf("文件不能打开! "); exit(1); }
else { printf("请输入10个整数 ");
for(i=1;i<=10;i++)
{ scanf("%d",&a); fprintf(____③____,"%d ",a);}
________④________ ;
}
}
3、输入4×5数组中所有元素,求所有元素的平均值并输出。
#include
void main( )
{ int a[4][5],i,j,sum;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf(“%d”, _____①_____ );
_____②_____;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
sum=____ ③ ____;
printf(“average=%f ”, ____④____ );
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include
int x=10;
void f1()
{ int a=10;
static int b=10;
a+=10; b+=10; x+=10;
printf (“%d %d %d ”, a,b,x) ;
}
void main ( )
{ f1( ); f1( ); }
2、
#include
void main()
{ int a[ ]={2,3,5,4},i;
for (i=0;i<4;i++)
switch(i%2)
{ case 0: switch(a[i]%2)
{ case 0: a[i]++;break;
case 1:a[i]--;
}break;
case 1:a[i]=0;
}
for (i=0;i<4;i++) printf("%2d ",a[i]);
printf(" ");
}
3、
#include
void main()
{ int beta=10;
int *pointer,*q;
pointer=β
*pointer=20;
beta=*pointer+30;
q=β
printf(" *q=%d ",*q);
}
第二组:
一、编程题(每题20分,共40分)
1、 编写程序。从键盘任意输入10个数,将这10个数按照由小到大的次序排序,输出
排序后的结果。(排序方法任意)
2、 编写程序。利用子函数fun求a数组中n个元素的平均值,再通过main()调用fun函数输出s数组中10个元素的平均值。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于输出以下图形。
#include
void main()
{ int i, j;
for(i=1; i<10; i++)
{ _____①_____;
while (++j<=_____②_____)
printf(“%4d”, _____③_____);
_____④_____;
}
}
2、 程序用于求 方阵的主对角线元素的乘积,
#include
void main()
{ int a[5][5],i,j,ss;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
_____ ① ___;
ss=_____②_____;
for(i=0;i<5;i++)
ss= _____③_____;
printf(“%d ”, _____④_____);
}
3、 输入一个三位正整数,分离出它的个位、十位和百位数并输出。
#include
void main()
{ int x,hundreds,tens,units;
scanf("%d",_____ ① _____);
hundreds=_____②_____;
tens=_____③_____;
units= _____④_____;
printf("units=%d,tens=%d,hundreds=%d ",units,tens,hundreds);
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include
void main ( )
{ int i,j;
for(i=1;i<= 5;i++)
{ for(j=1; j<= 9-i ; j++ )
printf (" ");
for(j=1;j<=i;j++)
printf("%c", ’A’+i-1);
printf(" ");
}
}
2、
#include
int x=100;
void f1()
{ int a=100;
a+=100; x+=100;
printf (“%4d %4d”, a, x) ;
}
void f2()
{ static int b=100;
b+=100; x+=100;
printf (“%4d %4d”, b , x);
}
void main ( )
{ f1( ); f1( ); f2( ); f2( ); }
3、
#include
void main()
{ int m=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf("%d,%d,%d,%d",m,n,*p,*q);
}
第三组:
一、编程题(每题20分,共40分)
1、编写程序。通过级数 求 的值并输出(要求精度为10-6 ,即追后一项的绝对值小于10-6)。
2、编写程序。写一个求n!的子函数,再利用main( )调用该函数分别计算并输出5!和10!。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于求输入的10个实数的最大值以及第一个最大值的下标并输出。
#include
void main()
{ int i, max_i=0;
double a[10];
for(i=0; i<10;i++) ______①______;
for(______②______)
if(a[i]>a[max_i]) ______③______;
printf("最大值=%6.2f ,位置是%d ", ______④______, max_i );
}
2、函数用于求x的y次方。
double fun(double x, int y)
{ int i; ______①______;
for(i=1;______②______; i++)
z=______③______;
______④______;
}
3、程序用于输出以下图形。
#include
void main ( )
{ int i,j;
for(i=1;i<= ______①______;i++)
{ for(j=1; j<= 9-i ; ______②______)
printf (" ");
for(j=1;j<=i;j++)
printf("%c", ______③______ );
______④______;
}
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include
void f(int m[ ], int n)
{ int i;
for(i=0; i
}
void main()
{ int i,a[ ]={1,2,3,4,5,6,7,8,9,10};
f(a,5);
for(i=0; i<10; i++) printf(“%d,”, a[i]);
}
2、
#include
void main()
{ int a[3][3]={{1,2,3},{2,4,5},{3,5,7}},i,j,s;
for(i=0;i<3;i++)
{ s=0;
for(j=0;j<3;j++)
s=s+a[i][j];
printf("%4d",s );
}
}
3、
#include
int f(int n)
{ static int a=1;
n+=a++;
return n;
}
void main()
{ int a=3,s;
s=f(a);s=s+f(a);
printf("%d
",s);
}