文档详情

C语言及程序设计复习题B.doc

发布:2017-04-21约2.28千字共4页下载文档
文本预览下载声明
C语言及程序设计复习题B 简答题 1、说明算法可以采用哪几种控制结构组合。 2、c语言程序的基本单位是什么?它的结构又如何? 二、编程题 1、编写程序,输出从公元2010元至2100年所有闰年的年号。每输出3个年号换一行。 2、输出所有水仙花数。所谓水仙花数是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=13+53+33。 编写函数fun,其功能是判断一个数是否为素数的函数,素数时返回1,否则返回0。 4、从10个元素的数组中找到最小值,然后与数组的第一个元素对调。 5、 m个人的成绩存放在整型数组score中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回主函数,并将低于平均分的分数存放在主函数定义的数组below中。 参考答案 一、简答题 1、算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。一个算法一般可以用顺序、选择、循环三种基本控制结构,通过顺序或嵌套组合而成。 2、函数是c语言程序的基本模块单元。 任何函数(包括主函数main())都是由函数说明和函数体两部分组成。其一般结构如下: [函数类型] 函数名(函数参数表) { 说明语句部分; 执行语句部分;} 二、编程题 1、 【参考答案】 #include “stdio.h” main() { int year,I=0; printf(“\n从2010年至公元2100年中闰年有:\n”); for(year=2010;year=2100;) { if((year%4= =0year%100!=0)||year%400= =0) { printf(“\t%d”,year); i++; if(i%3= =0) printf(“\n”); } year++; } } 2、【参考答案】 #includestdio.h main() { int i,j,z,n; for(n=100;n1000;n++) { i=n/100; j=n/10-i*10; z=n%10; if(i*100+j*10+z==i*i*i+j*j*j+z*z*z) { printf(“%5d”,n); } } printf(“\n”); getch(); } 3、【参考答案】 /*是素数返回1,否则返回0*/ int sushuis(int m) { int m; int i=2,t; for(;i=m;i++) if(m%i==0im) break; if(m-i==0) t=1; else t=0; return t; } 4、【参考答案】 #includestdio.h main() { int a[10]={1,22,4,96,88,17,5,39,-7,-2}; int i,j,temp,min=0; printf(“\n”); for(i=0;i=9;i++) printf(“%d ”,a[i]); printf(“\n”); for(i=0;i=9;i++) if(a[i]a[min]) min=i; { temp=a[0]; a[0]=a[min]; a[min]=temp; } for(i=0;i=9;i++) printf(“%d ”,a[i]); printf(“\n”); getch(); } 5、【参考答案】 #include stdio.h int fun(int score[],int m,int below[]) /*计算score数组中m个元素的均值,并把小于平均值的元素逐个存放在below数组中/ { int i,k=0,aver=0; for(i=0;im;i++) aver+=score[i]; /* 计算总分 */ aver/=m; /* 计算平均分 */ for(i=0;im;i++) /* 逐个判断分数值 */ if(score[i]aver) /* 如低于平均分 */ { below[k]=score[i]; /* 存放到以below为首地址的数组中 */ k++; /* 统计低于平均分的人数 */ }
显示全部
相似文档