《《程序设计习题》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《程序设计习题》PPT课件.ppt(14页珍藏版)》请在金锄头文库上搜索。
1、注意:注意:部分源程序给出如下。请勿改动主函数部分源程序给出如下。请勿改动主函数mainmain和其它函和其它函数中的任何内容,仅在函数数中的任何内容,仅在函数funfun的花括号的花括号/*Program*/ /*Program*/ /* End */* End */中填入所编写的若干语句。中填入所编写的若干语句。程序设计程序设计(必须运行必须运行!需要输入数据的一定需要输入数据的一定要输入要输入)第第1 1题题题目:编写函数题目:编写函数funfun,函数的功能是:求,函数的功能是:求1 1到到m m之间之间( (包括包括m)m)的偶数之积。的偶数之积。【程序设计】#include std
2、io.hdouble fun(int m)/*Program*/ double y=1; int i; for(i=1;i=m;i+) if(i%2=0)y*=i; return y;/* End */void main()printf(ji=%lfn,fun(20);第第2 2题题题目:编写函数题目:编写函数funfun其功能是其功能是: : 找出一个大于给定整数且紧随这个整数的素数,并作为找出一个大于给定整数且紧随这个整数的素数,并作为函数值返回。函数值返回。#include stdio.hint fun(int n)/*Program*/int i,k;for(i=n+1;i+)for(
3、k=2;ki;k+)if(i%k=0)break;if(k=i)return(i); /* End */void main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %dn, fun(m); 第第3 3题题题目:编写函数题目:编写函数funfun将将一个数组中的值按逆一个数组中的值按逆序存放序存放, ,并在并在main()main()函函数中输出。例如,原数中输出。例如,原来存顺序为来存顺序为8,6,5,4,18,6,5,4,1。要求改为:要求改为:1,4,5,6,81,4,5,6,8。#include s
4、tdio.h#define N 5void main()void fun(int arr,int n); int aN=8,6,5,4,1,i; for(i=0;iN;i+) printf(%4d,ai); printf(n); fun(a,N); for(i=0;iN;i+) printf(%4d,ai);void fun(int arr,int n)/*Program*/int i,t; for(i=0;in/2;i+) t=arri; arri=arrn-1-i; arrn-1-i=t; /* End */第第4 4题题题目:请编写一个函题目:请编写一个函数数funfun,函数的功能是:
5、,函数的功能是:统计出若干个学生的统计出若干个学生的平均成绩,最高分以平均成绩,最高分以及得最高分的人数。及得最高分的人数。例如,输入例如,输入1010名学生名学生的成绩分别为的成绩分别为9292,8787,6868,5656,9292,8484,6767,7575,9292,6666,则,则输出平均成绩为输出平均成绩为77.977.9,最高分为,最高分为9292,得最,得最高分的人数为高分的人数为3 3人。人。#include stdio.hfloat Max=0;int J=0;float fun(float array,int n)/*Program*/int i;float sum=0
6、,ave; Max=array0;for(i=0;in;i+) if(Maxarray i) Max=array i; sum=sum+array i; ave=sum/n; for(i=0;in;i+) if(array i=Max) J+;return(ave);/* End */void main( )float a10,ave;int i=0; printf(请输入请输入10个数:个数:n);for(i=0;i10;i+) scanf(%f,&ai); ave=fun(a,10);printf(ave=%fn,ave); printf(max=%fn,Max);printf(Total
7、:%dn,J);第第5 5题题题目:编写函数题目:编写函数funfun,函数的功能是:找,函数的功能是:找出一批正整数中的最大的偶数。出一批正整数中的最大的偶数。#include stdio.hint fun(int a,int n)/*Program*/int i,amax=-1; for(i=0;iamax) amax=ai; return amax;/* End */void main()int a=1,2,9,24,35,18,k;k=fun(a,6);printf(max=%dn,k);第第6 6题题题目:编写函数判断一个整数题目:编写函数判断一个整数m m的各位数字之和能的各位数字
8、之和能否被否被7 7整除整除, , 可以被可以被7 7整除则返回整除则返回1,1,否则返回否则返回0 0。调。调用该函数找出用该函数找出100200100200之间满足条件的所有数。之间满足条件的所有数。#include stdio.hint sub(int m)/*Program*/int k,s=0; do s=s+m%10; m=m/10; while(m!=0); if(s%7=0)k=1; else k=0; return(k);/* End */ void main() int i; for(i=100;i=200;i+) if(sub(i)=1)printf(%4d,i); 第第
9、7 7题题题目:编写函数题目:编写函数funfun,函数的功能是:计算,函数的功能是:计算n n门课程的平均值,计门课程的平均值,计算结果作为函数值返回。例如,若有算结果作为函数值返回。例如,若有5 5门课程的成绩是:门课程的成绩是:9292,7676,6969,5858,8888,则函数的值为,则函数的值为76.60000076.600000。#include stdio.hfloat fun(int a,int n)/*Program*/int i; float y=0; for(i=0;i=a & stri=z) stri=stri-32;/* End */#include string
10、.h#include stdio.hvoid main() void change(char str); char str40; gets(str); change(str); puts(str); 第第9 9题题题目:请编写函数题目:请编写函数funfun,它的功能是:判断它的功能是:判断m m是否是否为素数。主函数的功能为素数。主函数的功能是:求出是:求出100100到到200200之间之间的素数的个数。的素数的个数。#include stdio.hint fun(int m);void main() int m,k=0; for(m=100;m200;m+) if(fun(m)print
11、f(%4d,m);k+; if(k%5=0) printf(n);printf(k=%dn,k);int fun(int m)/*Program*/int i,k=1; if(m=1) k=0; for(i=2;im;i+) if(m%i=0) k=0; return k;/* End */第第1010题题题目题目: : 给定给定n n个数个数据据, , 求最小值出求最小值出现的位置现的位置( (如果最小值出现如果最小值出现多次多次, ,求出第一次求出第一次出现的位置即可出现的位置即可) )。#include stdio.hint station(int s,int n)/*Program*/
12、int i,k; k=0; for(i=1;in;i+) if(sisk) k=i; return(k);/* End */ void main() int a100,n,i,t; printf(请输入请输入n值值:); scanf(%d,&n); printf(请输入请输入%d个数个数:n,n); for(i=0;in;i+) scanf(%d,&ai); t=station(a,n); printf(the min_value position is:%dn,t); 第第1111题题题目:编写函数题目:编写函数funfun求求10001000以内所有以内所有m m的倍数之和。的倍数之和。#
13、define N 1000#include stdio.h“#include int yzj();int fun(int m);void main()int sum; sum=fun(7); printf(%d以内所有以内所有%d的倍数之和为:的倍数之和为:%dn,N,7,sum); getch(); yzj();int fun(int m)/*Program*/ int s=0,i; for(i=1;iN;i+) if(i%m=0) s+=i; return s;/* End */第第1212题题题目:调用函数题目:调用函数funfun判断一个三位判断一个三位数是否数是否 水仙花数水仙花数
14、。在在mainmain函数中从键函数中从键盘输入一个三位数,盘输入一个三位数,并输出判断结果。并输出判断结果。请编写请编写funfun函数。函数。所谓所谓 水仙花数水仙花数 是是指一指一3 3位数,其各位数,其各位数字立方和等于位数字立方和等于该数本身。例如,该数本身。例如,153153是一个水仙花是一个水仙花数,因为数,因为153=1+125+27153=1+125+27。#include stdio.hint fun(int n)/*Program*/int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10; if(n=bw*bw*bw+sw*sw*sw
15、+gw*gw*gw) return 1; else return 0;/* End */void main() int n,flag; scanf(%d,&n); flag=fun(n); if(flag) printf(%d 是水仙花数是水仙花数n,n); else printf(%d 不是水仙花数不是水仙花数n,n); getch(); yzj();第第1313题题题目:编写函数题目:编写函数funfun其功能是其功能是: :能计算从能计算从1 1开始到开始到n n的自然数的的自然数的和,和,n n由键盘输入,并在由键盘输入,并在main()main()函数中输出。函数中输出。#include stdio.hint fun(int n)/*Program*/int sum,i;sum =0;for(i=1;i=n;i+)sum=sum+i;return(sum);/* End */ void main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %dn, fun(m);