天大《C语言程序设计》2017年6月期末考试大作业答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计
作业辅导答案联系:微信号 cococn
题目如下:
第一组:
一、编程题(每题20分,共40分)
1、编写程序。定义数组sco存放30名学生的成绩。将成绩由高到低排序,并输出排序结
果和所有高于平均分数的成绩(结果保留两位小数)。
2、编写程序。先编写一个子函数求x n,再通过主函数调用该子函数,对输入的一个数y,求y5并输出。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于求两个数的和与差。
#include
int fun(int a,int b, int *psub)
{ int sum;
sum=a+b;
_____①_____=a-b;
return sum;
}
void main( )
{ int x,y,s1,s2;
scanf(“%d%d”, _____②_____);
s1=fun(x,y, _____③_____);
printf(“sum=%d\n sub=%d\n”, _____④_____);
}
2、对于5×5的方阵,输出其下三角的元素。
1 2 3 4 5 1
2 3 4 5 6 2 3
3 4 5 6 7 3 4 5
4 5 6 7 8 4 5 6 7
5 6 7 8 9 5 6 7 8 9
#include
void main()
{ int _____①_____,i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
a[i][j]= _____②_____;
for(i=0;i<5;i++)
{ for(j=0; _____③_____;j++)
printf("%4d", a[i][j]);
_____④_____; }
}
3、输出所有的水仙花数。所谓的水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如153是一水仙花数,因为153=13+53+33
#include
void main()
{
int n, i, j, k;
for(n=100; n<= _____①_____; n++)
{
i = n/100; // 取出n的百位数
j = ___ __②_____; // 取出n的十位数
k = __ ___③_____; // 取出n的个位数
if(n==_____④_____)
printf("%d\n",n);
}
}
三、写出程序的执行结果(每题4分,共12分)
1、
#include
void main( )
{ int i, j;
for (i=1; i<5; i++)
{ for( j=1; j<=12-i; j++)
printf(“ “);
for (j=1; j<=i; j++)
printf(“%4d”,i);
printf(“\n”);
}
}
2、
#include
int a=5;
void fun(int b)
{ int a=10;
a+=b;
printf("%d ",a);
}
void main()
{ int c=20;
fun(c);a+=c;
printf("%d\n",a);
}
3、
#include
void sub (int x,int y,int *z)
{ *z=x-y; }
void main()
{ int a,b,c;
sub(10,6,&c);
sub(8,c,&b);
sub(c,b,&a);
printf(“%d %d %d\n”,a,b,c);
}
第二组:
一、编程题(每题20分,共40分)
1、编写程序。输入一行字符(以回车符结束),分别统计其中字母、数字和其他符号的个数。
2、编写程序。要求编写子函数prime(m)判断m 是否为素数,当m 为素数时返回1,否则返回0,再调用该子函数求100以内的全部素数(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、按照公式 e=1+!11+!21+!31+…+!
1n 求e 的近似值,至n=10为止。 #include < stdio.n>
void main ( )
{ float_____①_____;
int n=1, i;
for(_____②_____)
{ n=_____③_____;
e=_____④_____;
}
printf (“ e= %f\n” ,e);
}
2、将文件file1.dat 中的内容复制到file2.dat 中。
#include
#define Null 0
void main()
{ FILE_____①_____;
char ch;
if((p1=fopen(“file1.dat ”,”r ”)= =Null)||(p2=fopen(“file2.dat ”,”w ”)= =Null )) { printf(“Can’t open file\n ”); _____②_____; }
while(_____③_____)
{ ch=_____④_____; fputc(ch,p2); }
fclose(p1);
fclose(p2);
}
3、求二维数组a[5][4]中所有元素的平均值。
#include
____ _①_ ____
void main ( )
{ int a[5][4],i ,j, pa;