天大19年秋学期考试《C语言程序设计》离线作业考核试题(答案) 作者:周老师 分类: 天津大学 发布时间: 2019-10-03 19:51 专业辅导各院校在线、离线考核、形考、终极考核、统考、社会调查报告、毕业论文写作交流等! 联系我们:QQ客服:3326650399 439328128 微信客服①:cs80188 微信客服②:cs80189 扫一扫添加我为好友 扫一扫添加我为好友 作业答案 联系QQ:3326650399 微信:cs80188 C语言程序设计 需求: 一、 独立结束,下面已将三组标题列出,请任选其间一组标题作答, 每人只答一组标题,多答无效,满分100分; 二、答题过程: 1. 运用A4纸打印学院指定答题纸(答题纸请详见附件); 2. 在答题纸上运用黑色水笔按标题需求手写作答;答题纸上悉数信息需求手写,包括学号、名字等根柢信息和答题内容,请写明题型、题号; 三、提交方法:请将作答结束后的整页答题纸以图像方法顺次张贴在一个Word 文档中上载(只张贴有些内容的图像不给分),图像请坚持正向、清楚; 1. 上载文件命名为“中心-学号-名字-类别.doc” 2. 文件容量巨细:不得跨越20MB。 提示:未按需求作答标题的作业及相同作业,分数以0分记! 标题如下: 第一组: 一、编程题(每题20分,共40分) 1、编写程序。输入一行字符(以回车符结束),别离统计其间字母、数字和其他符号的个数。 2、编写程序。需求编写子函数prime(m)判别m是不是为素数,当m为素数时回来1,否则回来0,再调用该子函数求100以内的悉数素数(素数就是只能被1和本身整除的正整数,1不是素数,2是素数)。 二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分) 1、按照公式 e=1+ + + +…+ 求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 <stdio.h> #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 <stdio.h> ____ _①_ ____ void main ( ) { int a[5][4],i ,j, pa; for (i=0;i<5;i++) for (j=0;j<4;j++) scanf(“%d”, &a[i][j]); pa= _____②_____; printf (“average=%d\n”,pa); } int average (int s[ ][4] ) { int i,j,aver=0; for (i=0;i<5;i++) for (j=0;j<4;j++) aver=aver+s[i][j]; aver=_____③_____; _____④_____; } 三、写出程序的实施成果(每题4分,共12分) 1、 #include <stdio.h> void main() { int i, j, k=4; for (int i=1;i<=k;i++) printf("%c",’*’); printf("\n"); for (int i=1;i<=k-2;i++) { printf("%c",’*’); for (j=1;j<= k-2;j++) printf(" "); printf("*\n"); } for (i=1;i<=k;i++) printf("%c",’*’); printf("\n"); } 2、 #include <stdio.h> void fun(int s[ ]); void main() { int a[ ]={1,2,3,4,5,6},k; fun(a); for(k=0;k<=5;k++) printf(“%d ”,a[k]); printf(“\n”); } void fun(int s[ ]) { int i=0; while(i<3) { s[i]=s[i]+5; i++; } } 3、 #include <stdio.h> void main() { int j, a[ ]={1,2,3,4,10,12,13,15}; for( j=3; j>0; j--) switch ( j ) { case 1: case 2: printf(“%d,”, a[j+4]); break; case 3: printf(“%d,”, a[j-1]); } printf(“\n”); } 第二组: 一、编程题(每题20分,共40分) 1、编写程序。每当输入10个评委的分数后,求该选手的最终得分并输出(设10个评委按照以下打分原则为选手打分:去掉一个最高分和一个最低分,剩下的求均匀分作为选手的最终得分)。 2、编写程序。先界说一个求n!的子函数fact,调用该子函数计算并输出 的值(m、n的值由键盘输入)。 二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分) 1、 打印出杨辉三角形(只打印出10行,方法如下)。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 …… #include <stdio.h> void main() { int i,j; int a[10][10]; for(i=0;i<10;i++)a[i][0]=1, _____①_____; for(_____②_____;i<10;i++) for(j=1;j<i;j++) a[i][j]= _____③_____; for(i=0;i<10;i++) { for(j=0;j<=i;j++) printf("%5d",a[i][j]); _____④_____; } } 2、 将输入的一个字符串(以!结束)中的小写字母变换成大写字母,然后输出到磁盘文件“test”中。 #include <stdio.h> void main() { _____①_____; char str[100],filename[10]; int i=0; if((fp=_____②_____ ==NULL) { printf("cannot open the file\n");exit(0); } printf("please input a string:\n"); gets(str); while(_____③_____) { if(str[i]>='a'&&str[i]<='z') str[i]=str[i]-32; fputc(str[i],fp); _____④_____; } fclose(fp); } 3、输出如下图形。 * * * * * * * * * * * * * #include <stdlib.h> void main() { int i=1,j; while(i<=3) { j=1; printf("*"); while(j<=3) { printf(" "); _____①_____; } printf("*\n"); _____②_____; } _____③_____; i=1; while(i<=3) { j=1; printf("*"); while(_____④_____) { printf(" "); j++; } printf("*\n"); i++; } } 三、写出程序的实施成果(每题4分,共12分) 1、 #include <stdio.h> void sub(int x,int y,int *z) { *z = x+y;} void main() { int a=5,b=6,c=7; printf(“%d,%d,%d ”,a,b,c); sub(b,c,&a); sub(a,b,&c) printf(“%d,%d,%d\n”,a,b,c); } 2、 #include <stdio.h> void main () { int x=1,a=0,b=0; switch(x) { case 1:a++ ; case 2:a++; b++; break; default: b++;break; } printf(“a=%d,b=%d”,a,b); } 3、 #include<stdio.h> void fun(int x); void main() { fun(7); printf("\n"); } void fun(int x) { if(x/2>1) fun(x/2); printf("%5d",x); } 第三组: 一、编程题(每题20分,共40分) 1、 编写程序。界说数组存放任意输入的10个实数,求出其间的最大值以及第一个最 大值的下标并输出。 2、编写程序。需求编写一个求最大供公约数的子函数,调用该子函数对输入的a、b求它们的最大公约数并输出。 二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分) 1、程序用于输出如下图形。 #include <stdio.h> void main( ) { int i, j; for(i=1; i<10; i++) printf(“%4d”, _____①_____); for(i=1;i<10;i++) { for(j=1; _____②_____;j++) printf(“%4d”, _____③_____ ); _____④_____; } } 2、输入50个实数,统计其间正数、负数和零的个数。 #include <stdio.h> void fun(int *zs,int *fs,int *l, _____①_____) { int i; for(i=0;i<50;i++) { if(aa[i]>0)(*zs)++; if(aa[i]<0) (*fs)++; if(aa[i]==0) (*l)++; } } void main() { float num[50]; int i,czs,cfs,cl; czs=cfs=cl=0; printf("\nPlease enter 50 float numbers:\n"); for(i=0;i<50;i++) scanf(“%f”, _____②_____); fun(_____③_____, _____④_____); printf("\n正数:%d,负数:%d,零:%d\n",czs,cfs,cl); } 3、输入正整数m和n,求出[m,n]区间的一切素数。 #include <stdio.h> _____ ①__ ___ void main() { int m,n,i,j,k; scanf("%d%d",&m,&n); for(i=m;i<n;i++) { k=sqrt(i); for(j=2; _____②_____;j++) if(_____③_____)break; if(_____④_____) printf(" %d",i); } printf("\n"); } 三、写出程序的实施成果(每题4分,共12分) 1、 #include <stdio.h> void main() { char s1[ ]="abcde", s2[10]; int i=0; while( s1[i] !=’\0’) { s2[ i ]= s1[ i ]+3; i++; } s2[ i ]= '\0'; printf("%s", s2); } 2、 #include<stdio.h> void main() { char ch1='A',ch2='B'; switch(ch1) { case 'A':switch(ch2) { case 'B':printf("Good! ");break; case'A':printf("Better! ");break; } case 'B': printf("Best!\n");break; } } 3、 #include<stdio.h> int age(int n) { int c; if(n==1) c=10; else c=age(n-1)+2; return(c); } void main() { printf("%d",age(5)); } 作业答案 联系QQ:3326650399 微信:cs80188 年秋(1026)天大(397)考试(2030)《(4083)》(3453)学期(8080) 专业辅导各院校在线、离线考核、形考、终极考核、统考、社会调查报告、毕业论文写作交流等!(非免费) 联系我们:QQ客服:3326650399 439328128 微信客服①:cs80188 微信客服②:cs80189 扫一扫添加我为好友 扫一扫添加我为好友
专业辅导各院校在线、离线考核、形考、终极考核、统考、社会调查报告、毕业论文写作交流等!(非免费)
联系我们:QQ客服:3326650399 439328128 微信客服①:cs80188 微信客服②:cs80189
扫一扫添加我为好友 扫一扫添加我为好友