C语言程序设计.docx
- 文档编号:1981726
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:18
- 大小:28.31KB
C语言程序设计.docx
《C语言程序设计.docx》由会员分享,可在线阅读,更多相关《C语言程序设计.docx(18页珍藏版)》请在冰豆网上搜索。
C语言程序设计
C语言程序设计
要求:
一、独立完成,下面已将三组题目列出,请按照学院平台指定的做题组数作解答,每人只解答一组题目,多解答无效,满分100分;
平台查看做题组数操作:
学生登录学院平台→系统登录→学生登录→课程考试→离线考核→离线考核课程查看→做题组数,显示的数字为此次离线考核所应做哪一组题的标识;
例如:
“做题组数”标为1,代表学生应作解答“第一组”试题;
二、解答题步骤:
1.使用A4纸打印学院指定解答题纸(解答题纸请详见附件);
2.在解答题纸上使用黑色水笔按题目要求手写作解答;解答题纸上全部信息要求手写,包括学号、姓名等基本信息和解答题内容,请写明题型、题号;
三、提交方式:
请将作解答完成后的整页解答题纸以图片形式依次粘贴在一个Word
文档中上传(只粘贴部分内容的图片不给分),图片请保持正向、清晰;
1.完成的作业应另存为保存类型是“Word97-2003”提交;
2.上传文件命名为“中心-学号-姓名-科目.doc”;
3.文件容量大小:
不得超过20MB。
提示:
未按要求作解答题目的作业及雷同作业,成绩以0分记!
题目如下:
第一组:
一、编程题(每题20分,共40分)
1、编写程序。
输入一行字符(以回车符结束),分别统计其中字母、数字和其他符号的个数。
解答:
#include"stdio.h"
main()
{
charc,sum=0,number=0,other=0;
c=getchar();
while(c!
='\n')
{
if((c<='z'&&c>='a')||(c<='Z'&&c>='A'))
sum++;
elseif(c>='0'&&c<='9')
number++;
else
other++;
c=getchar();
}
printf("%d,%d,%d",sum,number,other);
}
2、编写程序。
要求编写子函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0,再调用该子函数求100以内的全部素数(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
解答:
#include
intprime(intm)
{
inti,k=0;
for(i=2;i { if(m%i==0) break; } if(i>=m) k=1; returnk; } voidmain() { intm,k,n=0; for(m=2;m<=100;m++) { k=prime(m); if(k) { printf("%-4d",m); n++; if(n%5==0) printf("\n"); } } } 二、程序填空。 在程序中的序号处填上正确的内容。 (每空4分,共48分) 1、按照公式e=1++++…+求e的近似值,至n=10为止。 #include voidmain() {float_____①_____; intn=1,i; for(_____②_____) {n=_____③_____; e=_____④_____; } printf(“e=%f\n”,e); } 解答: e=1.0 i=1;i<11;i++ n*i e+1.0/n 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); } 解答: *p1,*p2 exit(0) ! eof(p1) fgetc(p1) 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=_____③_____; _____④_____; } 解答: intaverage(ints[][4]); average(a) aver/20 returnaver 三、写出程序的执行结果(每题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++;} } 解答: 678456 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”); } 解答: 3,13,12, 第二组: 一、编程题(每题20分,共40分) 1、编写程序。 定义数组存放任意输入的10个实数,求出其中的最大值以及第一个最 大值的下标并输出。 解答: #inclue voidmain() { inti,max_i=0; doublea[10]; for(i=0;i<10;i++) scanf(''%lf'',&a[i]); for(i=1;i<10;i++) if(a[i]>a[max_i) a[max_i]=a[i]; printf(最大值=%6.2f,位置是%d/n'',a[max_i],max_i); } 2、编写程序。 要求编写一个求最大供公约数的子函数,调用该子函数对输入的a、b求它们的最大公约数并输出。 解答: intfun(inta,intb) { inttemp=0; if(a { temp=a; a=b; b=temp; } while(a%b! =0) { temp=a%b; a=b; b=temp; } returnb; } 二、程序填空。 在程序中的序号处填上正确的内容。 (每空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”,_____③_____); _____④_____;} } 解答: i j<=i i*j printf(“\n”); 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); } 解答: ①float*aa ②&num[i] ③&czs,&cfs ④&cl,num 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"); } 解答: 1#include 2j<=k 3i%j==0 4j>k 三、写出程序的执行结果(每题4分,共12分) 1、 #include voidmain() {chars
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)