天大《C语言程序设计》考试期末大作业.docx
- 文档编号:5398200
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:11
- 大小:24.17KB
天大《C语言程序设计》考试期末大作业.docx
《天大《C语言程序设计》考试期末大作业.docx》由会员分享,可在线阅读,更多相关《天大《C语言程序设计》考试期末大作业.docx(11页珍藏版)》请在冰豆网上搜索。
天大《C语言程序设计》考试期末大作业
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
voidmain()
{float_____①_____;
intn=1,i;
for(_____②_____)
{n=_____③_____;
e=_____④_____;
}
printf(“e=%f\n”,e);
}
2、将文件file1.dat中的内容复制到file2.dat中。
#include
#defineNull0
voidmain()
{FILE_____①_____;
charch;
if((p1=fopen(“file1.dat”,”r”)==Null)||(p2=fopen(“file2.dat”,”w”)==Null))
{printf(“Can’topenfile\n”);_____②_____;}
while(_____③_____)
{ch=_____④_____;fputc(ch,p2);}
fclose(p1);
fclose(p2);
}
3、求二维数组a[5][4]中所有元素的平均值。
#include
_____①_____
voidmain()
{inta[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);
}
intaverage(ints[][4])
{inti,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
voidmain()
{inti,j,k=4;
for(inti=1;i<=k;i++)
printf("%c",’*’);printf("\n");
for(inti=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
voidfun(ints[]);
voidmain()
{inta[]={1,2,3,4,5,6},k;
fun(a);
for(k=0;k<=5;k++)printf(“%d”,a[k]);
printf(“\n”);
}
voidfun(ints[])
{inti=0;
while(i<3){s[i]=s[i]+5;i++;}
}
3、
#include
voidmain()
{intj,a[]={1,2,3,4,10,12,13,15};
for(j=3;j>0;j--)
switch(j)
{case1:
case2:
printf(“%d,”,a[j+4]);break;
case3:
printf(“%d,”,a[j-1]);
}
printf(“\n”);
}
第二组:
一、编程题(每题20分,共40分)
1、编写程序。
定义数组存放任意输入的10个实数,求出其中的最大值以及第一个最
大值的下标并输出。
2、编写程序。
要求编写一个求最大供公约数的子函数,调用该子函数对输入的a、b求它们的最大公约数并输出。
二、程序填空。
在程序中的序号处填上正确的内容。
(每空4分,共48分)
1、程序用于输出如下图形。
123456789
1
24
369
481216
510152025
61218243036
7142128354249
816243240485664
91827364554637281
#include
voidmain()
{inti,j;
for(i=1;i<10;i++)
printf(“%4d”,_____①_____);
for(i=1;i<10;i++)
{for(j=1;_____②_____;j++)
printf(“%4d”,_____③_____);
_____④_____;}
}
2、输入50个实数,统计其中正数、负数和零的个数。
#include
voidfun(int*zs,int*fs,int*l,_____①_____)
{inti;
for(i=0;i<50;i++)
{if(aa[i]>0)(*zs)++;
if(aa[i]<0)
(*fs)++;
if(aa[i]==0)
(*l)++;}
}
voidmain()
{floatnum[50];
inti,czs,cfs,cl;
czs=cfs=cl=0;
printf("\nPleaseenter50floatnumbers:
\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
_____①_____
voidmain()
{intm,n,i,j,k;
scanf("%d%d",&m,&n);
for(i=m;i {k=sqrt(i); for(j=2;_____②_____;j++) if(_____③_____)break; if(_____④_____) printf("%d",i); } printf("\n"); } 三、写出程序的执行结果(每题4分,共12分) 1、 #include voidmain() {chars1[]="abcde",s2[10]; inti=0; while(s1[i]! =’\0’) {s2[i]=s1[i]+3;i++;} s2[i]='\0'; printf("%s",s2); } 2、 #include voidmain() {charch1='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 intage(int n) {intc; if(n==1) c=10; else c=age(n-1)+2; return(c); } voidmain() {printf("%d",age(5)); } 第三组: 一、编程题(每题20分,共40分) 1、编写程序。 计算 (求n项,n由键盘输入并要求最后一项小于10-6结束。 2、编写程序。 自定义函数求N名学生1门课程成绩的平均分,调用该函数求10名 学生1门课程成绩的平均分。 二、程序填空。 在程序中的序号处填上正确的内容。 (每空4分,共48分) 1、判断一个整数的各位数字是否都相同,相同则显示“yes“,否则显示”no”。 #include voidmain() {inta,r1,r2; scanf(“%d”,_____①_____); do{r1=a%10; _____②_____; r2=a%10; }while(a! =0&&_____③_____); if(a! =0)printf(”no\n”); else_____④_____; } 2、输出如下图形。 12345 11234 11123 11112 11111 #include voidfun(_____①_____) {inti,j; for(i=1;i<=n;i++) {for(j=1;_____②_____;j++) printf(“%3d”,1); for(j=2;j<=_____③_____;j++) printf(“%3d”,j); printf(“\n”); } } voidmain() { _____④_____; } 3、输入一个3行5列的整数矩阵,输出其中最大值和它们的下标。 #include voidmain() {inta[3][5],i,j,t,n=3,m=5,max,maxrow,maxcol; printf(“Enter%d*%dnumbers! \n”,n,m); for(i=0;i for(j=0;j {scanf(“%d”,&t); _____①_____;} max=a[0][0];_____②_____; for(i=0;i for(j=0;j if(_____③_____) {_____④_____;maxrow=i;maxcol=j;} printf(“MAX=a[%d][%d]=%d\n”,maxrow,maxcol,max,); } 三、写出程序的执行结果(每题4分,共12分) 1、 #include voidmain() {inta[][3]={9,7,5,3,l,2,4,6,8}; inti,j,sl=0,s2=0; for(i=0;i<3;i++) for(j=0;j<3;j++) {if(i==j) s1=s1+a[i][j]; if(i+j==2) s2=s2+a[i][j]; } printf(“%d%4d\n”,sl,s2); } 2、 #include voidmain() {chara[]={‘*’,‘*’,‘*’,‘*’,‘*’}; inti,j,k; for(i=0;i<4;i++) {printf(“\n”); for(j=0;j printf(“%c”,‘’); for(k=0;k<4;k++) printf(“%c”,a[k]); } printf(“\n”); } 3、 #include voidmain() {ints[5]; for(i=0;i<5;i++) s[i]=i*2; for(i=4;i>=0;i--) printf(“%5d”,s[i]); printf(“\n”); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 考试 期末 作业