编程练习题(学生).doc
上传人:sy****28 上传时间:2024-09-15 格式:DOC 页数:10 大小:59KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

编程练习题(学生).doc

编程练习题(学生).doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1.求数组中的最大值,给定一个10个元素的整型数组,通过键盘输入每个元素的初始值,利用函数求出该数组的最大值,并调用这个函数,输出最大值。函数原型为:intmax(inta[],intlen);intmax(int*p,intlen)//或intp[]{intmax=p[0],i;for(i=1;i<len;i++){if(p[i]>max){max=p[i];}}returnmax;}#defineLEN10main(){inta[LEN],i;for(i=0;i<LEN;i++){scanf(“%d”,&a[i]);}printf(“%d\n”max(a,LEN));}2.对数组中值进行从小到大的排序给定一个10个元素的整型数组,通过键盘输入每个元素的初始值,利用函数对该数组进行从小到大的排序,并调用这个函数,输出排序结果。函数原型为:voidsort(inta[],intlen);#defineN10voidsort(int*a,intlen){intid,j;for(i=0;i<len-1;i++){id=i;for(j=i+1;j<len;j++){if(a[id]>a[j]){id=j;}}if(id!=i){intt=a[id];a[id]=a[i];a[i]=t;}}}main(){inta[LEN],i;for(i=0;i<LEN;i++){scanf(“%d”,&a[i]);}sort(a,N);for(i=0;i<N;i++){printf(“%d“,a[i]);}}4.编写一个函数,确定一个数是否为素数,并将判断的结果返回,由主调函数将判断的结果输出。并编写主函数调用该函数。函数原型为:intprime(intn);intprime(intn){for(inti=2;i<n;i++){if(n%i==0){break;}}if(i<n){return0;}return1;}main(){intn=22;if(prime(n)==1){printf(“%d是素数",n);}else{printf(“%d不是素数",n);}}5编写一个函数,将传入的正整数进行数字反向,例如传入12345,返回54321,数值范围用long类型。并编写主函数调用该函数,并输出返回结果。函数原型为:longconvert(longn);longconvert(longn){longsum=0;while(n>0){sum=sum*10+n%10;n=n/10;}returnsum;}main(){longm=12456;printf(“%ld”,convert(m));}7.利用递归函数求N!,并编写主函数调用该函数,并输出返回结果。考虑N<10。函数原型为:longrecursive(longn);longrecursive(longn){if(n==1||n==0){return1;}else{returnn*recursive(n-1);}}main(){intn;longt;scanf(“%d”,&n);t=recursive(n);printf(“%ld”,t);}10.编写一个函数计算1-2+3-4+…+n,其中n的值由主调函数传入,并返回计算结果函数原型为:intcal(intn);longfun(intn){intflag=1,i;longsum=0;for(i=1;i<=n;i++){sum+=i*flag;flag*=-1;}returnsum;}main(){intn;scanf(“%d“,&n);printf(“%ld”,fun(n));}11.编写函数,求1!+2!+…+n!的值,并编写主函数调用该函数进行测试。函数原型为:intcal(intn);intcal(intn){intsum=0;ints=1;for(inti=1;i<=n;i++){s*=i;sum+=s;}returnsum;}voidmain(){intn;scanf(“%d“,&n);printf(“%d“,cal(n)