C语言程序设计题目及解答-0

上传人:xt****7 文档编号:100489152 上传时间:2022-06-02 格式:DOC 页数:8 大小:36.50KB
返回 下载 相关 举报
C语言程序设计题目及解答-0_第1页
第1页 / 共8页
C语言程序设计题目及解答-0_第2页
第2页 / 共8页
C语言程序设计题目及解答-0_第3页
第3页 / 共8页
点击查看更多>>
资源描述
一、判断题 (10分)1. switch(表达式),该表达式的值必须是整型或字符型。2分 2. 执行switch语句时,肯定会执行其中的一个分支语句组。2分 3. while和dowhile循环不论什么条件下它们的结果都是相同的.2分 4. for(表达式1;表达式2;表达式3),其中表达式1只执行一次。2分 5. 若int i=0,k=8;while(i=8) i=k-;则while循环体的执行次数为0.2分 二、选择题 (28分)1.已知int t=0;while(t=1).则以下叙述正确的是( )。B 2分 A. 循环控制表达式的值为0 B. 循环控制表达式的值为1 C. 循环控制表达式不合法 D. 以上说法都不对 2.以下程序段的输出结果是_C 2分 int x=3;do printf(%3d,x-=2);while (!(-x);A. 1 B. 3 0 C. 1 -2 D. 死循环 3.以下程序的输出结果是_。A 2分 main() int n=4; while(n-)printf(%d ,-n);A. 2 0 B. 3 1 C. 3 2 1 D. 2 1 0 4.设j为int型变量,则下面for循环语句的执行结果是 B 2分 for(j=10;j3;j-)if(j%3)j-;-j;-j;printf(%d,j);A. 6 3 B. 7 4 C. 6 2 D. 7 3 5.结构化程序由三种基本结构组成,三种基本结构组成的算法_。C 2分 A. 可以完成任何复杂的任务 B. 只能完成部分复杂的任务 C. 只能完成符合结构化的任务 D. 只能完成一些简单的任务 6.以下程序的输出结果是_。A 2分 main()int a=0,i; for(i=1;i5;i+) switch(i) case0: case3:a+=2; case1: case2:a+=3; default:a+=5; printf(%d,a)A. 31 B. 13 C. 10 D. 20 7.以下的for循环: for(x=0,y=0;(y!=123)&(x6) n-; printf(%d,n); 该程序的输出结果是_。B 2分 A. 987 B. 876 C. 8765 D. 9876 9.有以下程序段int n=0,p;do scanf(%d,&p);n+; while(p!=12345&n3);此处do-while循环的结束条件是_。 D 2分 A. p的值不等于12345并且n的值小于3B. p的值等于12345并且n的值大于等于3C. p的值不等于12345或者n的值小于3D. p的值等于12345或者n的值大于等于310.有如下程序main() int x=1,a=0,b=0; switch(x) case 0: b+; case 1: a+; case 2: a+;b+; printf(a=%d,b=%dn,a,b);该程序的输出结果是_。A 2分 A. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2 11.C语言中用于结构化程序设计的三种基本结构是_。A 2分 A. 顺序结构、选择结构、循环结构 B. if、switch、break C. for、while、do-while D. if、for、continue 12.有以下程序main() int i; for(i=0;i3;i+) switch(i) case 1: printf(%d,i); case 2: printf(%d,i); default: printf(%d,i); 执行后输出的结果是_。A 2分 A. 011122 B. 012 C. 012020 D. 120 13.有以下程序段 int k=0; while(k=1)k+;while循环执行的次数是_。A 2分 A. 无限次 B. 有语法错,不能执行 C. 一次也不执行 D. 执行1次 14.有以下程序main() int s=0,a=1,n; scanf(%d,&n); do s+=1; a=a-2; while(a!=n); printf(%dn,s);若要使程序的输出值为2,则应该从键盘给n输入的值是_。B 2分 A. -1 B. -3 C. -5 D. 0 三、程序填空题 (22分)1功能:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的年龄(实足年龄)。#include int main() int age,y0,y1,m0,m1,d0,d1; printf(输入生日日期(年,月,日)n); _(1)_(%d,%d,%d,&y0,&m0,&d0); printf(输入当前日期(年,月,日)n); scanf(%d,%d,%d,&y1,&m1,&d1); age=y1-y0; if(m0 _(2)_ m1)age-; if(m0 _(3)_ m1)&(d0d1)age-; printf(age=%3d,age); return 0; (1)答案 2分 scanf (2)答案 2分 (3)答案 2分 = 2功能:输入某年某月某日,判断这一天是这一年的第几天? #includeint main() int day,month,year,sum,leap; printf(nplease input year,month,dayn); scanf(%d %d %d,&year,&month,&day); switch(month) case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:_(1)_;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf(data error);break; _(2)_; if(year%400=0|(_(3)_) leap=1; else leap=0; if(_(4)_) sum+; printf(It is the %dth day.,sum); (1)答案 2分 sum=90 (2)答案 2分 sum=sum+day (3)答案 3分 year%4=0&year%100!=0 (4)答案 3分 leap=1&month2 3功能:算式:?2*7?=3848中缺少一个十位数和一个个位数。编程求出使该算式成立时的这两个数,并输出正确的算式。#include#includevoid main() int x,y; for(x=1;x10;x+) for( y=0;y10;y+) if( 10 * x + 2 ) * ( _(1)_ )=3848) printf(%d*%d=3848n,_(2)_ , 70 + y); exit(0); (1)答案 3分 70 + y (2)答案 3分 10 * x + 2 四、程序设计题 (40分)1. 青年歌手大奖赛_评委会打分 10分 题目描述青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。 输入描述输入数据的第一个数是n (2n100),表示评委的人数,然后是n个评委的打分。 输出描述对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。 样例输入4 100 99 98 97 样例输出98.50 #include#includevoid main()double x,min,max,sum=0,value=0;int i,n;scanf(%d,&n); /评委人数scanf(%lf,&x); /第一位评委打分min=max=x; /假设第一个分数是最小值、最大值 sum+=x; for(i=1;imax) /求最大值max=x;if(xmin) /求最小值min=x;value=(sum-max-min)/(n-2); /去掉最高分和最低分,计算平均得分printf(%.2lfn,value); 2. 素数判断 10分 题目描述给定一个正整数,请判断其是否为素数(除了1和本身,没有其它约数的数称为素数)。 输入描述输入数据只包含一个整个N(1<N<1000000000); 输出描述如果N是素数请输出yes,否则输出no; 样例输入5 样例输出yes #include#includevoid main() int N,i=2,flag=1; scanf(%d,&N); for(i=2;i=sqrt(N);i+) if(N%i=0) flag=0; if(flag=1) printf(yesn); else printf(non); 3. 平方和与立方和 10分 题目描述给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。 输入描述每组测试实例包含一行,由两个整数m和n组成。 输出描述对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。你可以认为32位整数足以保存结果。 样例输入1 3 样例输出4 28 #includevoid main()int i,a,b;int sp=0,sn=0;scanf(%d%d,&a,&b);for(i=a;i=b;i+)if(i%2=0) /偶数sp+=i*i; /平方和else /奇数sn+=i*i*i; /立方和printf(%d %dn,sp,sn); 4. 水仙花数 10分 题目描述数学上有个水仙花数,是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33。现在要求输出所有在m和n范围内的水仙花数。 输入描述每组数据占一行,包括两个整数m和n(100=m=n=999)。 输出描述对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;如果给定的范围内不存在水仙花数,则输出no;每个测试实例的输出占一行。 样例输入100 120 样例输出no #include#includevoid main()int m,n,s,a,b=0;scanf(%d%d,&m,&n);for(a=m;a=n;a+)s=pow(a%10,3)+pow(a/10%10,3)+pow(a/100,3);if(s=a) printf(%d ,s);b+;if(b=0) printf(no);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!