C语言十道题自编答案fuben.docx

上传人:牧羊曲112 文档编号:3155200 上传时间:2023-03-11 格式:DOCX 页数:7 大小:39.21KB
返回 下载 相关 举报
C语言十道题自编答案fuben.docx_第1页
第1页 / 共7页
C语言十道题自编答案fuben.docx_第2页
第2页 / 共7页
C语言十道题自编答案fuben.docx_第3页
第3页 / 共7页
C语言十道题自编答案fuben.docx_第4页
第4页 / 共7页
C语言十道题自编答案fuben.docx_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言十道题自编答案fuben.docx》由会员分享,可在线阅读,更多相关《C语言十道题自编答案fuben.docx(7页珍藏版)》请在三一办公上搜索。

1、C语言十道题自编答案fuben南京农大机制专业C语言期末编程题题库答案 第一题:给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。 #include void main float score; int t;char grade; printf(please enter score:); scanf(%f,&score); t=(int)(score/10); switch(t) case 10: case 9: grade=A;break; case 8: grade=B;break; case 7: gr

2、ade=C;break; case 6: grade=D;break; case 5: case 4: case 3: case 2: case 1: case 0 : grade=E; printf(成绩是%5.1f,相应的等级为:%c,score,grade); 注意:当case后面语句一样时候,只写最后面一个,而且相应地写出break,其余可以省略; Switch后面括号选择对象后面没有分号,记得定义grade 第二题:输入一个数,判断是否为素数 #include void main int m,i,k; printf(number:); scanf(%d,&m); k=(int)sqr

3、t(m); for (i=2;ik) printf(%d is primen,m); else printf(%d is not primen,m); 注意:求素数思想是,m被2到根号m之间每一个整数去除,若都不能被整除则为素数,能则不为素数,注意调用开方函数用法,if语句包含两部分,条件和执行内容,不能在if条件后面打分号。巧妙利用i和k的大小关系来判断结果是否为素数,要好好理解。 第三题,求出100到200之间的素数 #include #include void main int i,m,t; for(i=101;i=200;i+) m=sqrt(i); for(t=2;tm) print

4、f(%dn,i); 思路就是将符合素数判断要求的素数输出,用了一个二重循环。 第四题,输入一行字符,统计其中字母,空格,数字和其他字符个数 #include #include void main char c; int letter=0,number=0,blank=0,other=0; while (c=getchar)!=n) if(c=A&c=a&c=0&c=9) number+; else if(c= ) blank+; else other+; printf(letter=%d,number=%d,blank=%d,other=%d,letter,number,blank,other

5、); 注意:设定换行符未结束标志,仔细体会各个if括号里面判定条件值得记住注意while后面括号之后一定不能有分号,循环体包含多个语句时候要用大括号括起来,否则遇到第一个分号就结束了。 第五:冒泡排序法,对十个人年龄按照从小到大排序, #include void main void sort(int a,int n); int i,b10; printf(please input ten numbersn); for(i=0;i10;i+) scanf(%d,bi); sort(b,10); for(i=0;i10;i+) printf(%d ,bi); void sort(int a,int

6、 n) int i,j,t,m; for(i=0;in-1;i+) t=i; for(j=i+1;jn;j+) if(ajat) t=j; m=at;at=ai;ai=at; #include void main int a10; int i,j,t; printf(input 10 numbers :n); for (i=0;i10;i+) scanf(%d,&ai); printf(n); for(j=0;j9;j+) for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t; printf(the sorted numbers :n); for(i=0;i10;i+) pri

7、ntf(%d ,ai); printf(n); 注意:不能忘了定义数组,该用换行符让输出界面更有条理的地方换行符不能省略,二重循环语句,十个数,九轮,每轮随着数减小在减小,输入输出也用到循环语句,注意循环语句,循环体有多个语句时候,一定要用大括号括起来 第六题:将一个数组中的值逆序重新存放 #include #define N 9 void main int aN=12,3,7,8,9,3,2,4,7;int i,temp; for(i=0;i=N/2;i+) temp=ai; ai=aN-i-1; aN-i-1=temp; for(i=0;iN;i+) printf(%d,ai); prin

8、tf(n); 注意:定义一个常量的方式,N-i-1值得思考,输出时所用循环条件是iN,最后那个n可以避免多位数数字和单位数数字混在一起弄不清 第七题已知5个学生的4门课成绩,要求求出每个学生的平均成绩,然后对平均成绩从高到低将各学生的成绩排序记录。 #include void main int i,j; float sum,t; float a55=78,79,90,67,60,76,89,63,86,75,96,56,54,63,86,96, 63,96,98,97; for(i=0;i5;i+) sum=0; for(j=0;j4;j+) sum=sum+aij; ai4=sum/4; f

9、or(i=0;i5;i+) for(j=i+1;j5;j+) if(ai4aj4) t=ai4;ai4=aj4;aj4=t; t=ai0;ai0=aj0;aj0=t; t=ai1;ai1=aj1;aj1=t; t=ai2;ai2=aj2;aj2=t; t=ai3;ai3=aj3;aj3=t; for(i=0;i5;i+) for(j=0;j5;j+) printf(%6.2f,aij); printf(n); #include main int i,j,t,k; float a55=0,sum=0; printf(请输入五位学生的分数:n); for(i=0;i5;i+) for(j=0;j4

10、;j+) scanf(%f,&aij); printf(五位学生的分数列表:n); for(i=0;i5;i+) for(j=0;j5;j+) printf(%.1ft,aij); printf(n); printf(对应五位学生的平均分:n); for(i=0;i5;i+) for(j=0;j4;j+) sum=sum+aij; ai4=sum/4; printf(%.2fn,ai4); sum=0; for(k=0;k5;k+) for(i=0;i5-k;i+) if(ai4ai+14) for(j=0;j5;j+) t=ai+1j;ai+1j=aij;aij=t; printf(五位学生

11、的平均分排名:n); for(i=0;i5;i+) for(j=0;j5;j+) printf(%.2ft,aij); printf(n); 第八题,递归法求n的阶乘 #include void main long fac(int n); int n,y; printf(input an integer number:); scanf(%d,&n); y=fac(n); printf(%d!=%ldn,n,y); long fac(int n) long f; if(n0) printf(n0,data error!); else if(n=0 | n=1) f=1; else f=fac(n

12、-1)*n; return(f); 第九题二分法查找数 #include void main int a10=2,4,6,8,10,12,14,16,18,20; int low,high,mid,k,n=10; printf(input one numbern); scanf(%d,&k); low=0;high=n-1; while(low=high) mid=(low+high)/2; if(k=amid) printf(yes,No.%d,mid+1);break; else if(kamid) low=mid+1; else break; if(low=high) printf(no

13、 found); else printf(NO.%d,mid+1); 第十题 不用stract连接两个字符串 #include #include void main int i,j; char a40,b20; gets(a); gets(b); for(j=0,i=strlen(a);bj!=0;i+,j+) ai=bj; ai=0; puts(a); 第十一题 选择排序法#include void main void sort(int a,int n); int i,b10; printf(please input ten numbersn); for(i=0;i10;i+) scanf(%d,bi); sort(b,10); for(i=0;i10;i+) printf(%d ,bi); void sort(int a,int n) int i,j,t,m; for(i=0;in-1;i+) t=i; for(j=i+1;jn;j+) if(ajat) t=j; m=at;at=ai;ai=at;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号