程序设计编程题.doc_第1页
程序设计编程题.doc_第2页
程序设计编程题.doc_第3页
程序设计编程题.doc_第4页
程序设计编程题.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、功能:编写函数fun对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。/*Program*/ int k,j,t; for (k=0;kn-1;k+) for (j=k+1;jn;j+) if (arraykarrayj) t=arrayk; arrayk=arrayj; arrayj=t; /* End */2、功能:从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息。例如:7是素数,8不是素数。请编写fun函数。素数是仅能被1和自身整除的数/*Program*/ int i ,j=1;for(i=2;in;i+) if(n%i=0)j=0;return(j); /* End */3、功能:从字符串s中删除指定的字符c。/*Program*/ int i,k=0; for(i=0;si!=0;i+) if(si!=c) sk+=si; sk=0; /* End */4、功能:求n阶方阵主、副对角线上的元素之积。/*Program*/ int i,j; float t=1; for(i=0;iN;i+) for(j=0;jN;j+) if(i=j|i+j=N-1) t=t*arrij;return(t); /* End */5、题目:用while语句求1100的累计和。 /*Program*/int i=1,sum=0; while(i=n) sum=sum+i; i+; return sum; /* End */6、功能:从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。请编写fun函数。 /*Program*/ int min; int i; min=x0; for(i=0;ixi) min=xi; return min; /* End */7、功能:判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。/*Program*/ int ans = 0; while(w) ans += (w%10)*(w%10); w /= 10; if(ans%5 =0) return 1; else return 0; /* End */8、功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。/*Program*/ int i,s=0; if(x%2!=0&y%2!=0) for(i=x+2;iy;i=i+2) s=s+i; if(x%2=0&y%2=0) s=s+i; return s; /* End */9、功能:编写程序求无理数e的值并输出。计算公式为:e=1+1/1!+1/2!+1/3!+.+1/n!当1/n!=0.000001) e=e+jc; j=1; for(k=1;k=i;k+) j=j*k; jc=1.0/j; i+; return e; /* End */10、功能:编写函数判断一个整数m的各位数字之和能否被7整除可以被7整除则返回1,否则返回0。调用该函数找出100200之间满足条件的所有数。/*Program*/ int r=0; for(;m!=0;) r+=m%10; m=m/10; return r%7=0; /* End */11、功能:判断整数x是否是同构数。若是同构数,函数返回1;否则返回0。x的值由主函数从键盘读入,要求不大于100。例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。/*Program*/ int k; k=x*x; if(k%10=x)|(k%100=x) return 1; else return 0; /* End */12、功能:编写函数fun,求任一整数m的n次方。/*Program*/long int x=1;int i;for(i=1;i=n;i+)x=x*m;return x;/* End */13、功能:计算并输出给定整数的所有因子之积(包括自身)。规定这个整数的值不大于50。 /*Program*/ long s=1,i; for(i=2;i=n;i+) if(n%i=0)s=s*i; return s; /* End */14、功能:编写程序, 求矩阵(3行3列)与2的乘积 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 200 400 600 800 1000 1200 1400 1600 1800/*Program*/ int i,j;for(i=0; i 3; i+)arrayij=arrayij*2;/* End */15、功能:产生20个30,120上的随机整数放入二维数组a54中, 求其中的最小值。 /*Program*/ int i,j,s; s=a00; for(i=0;i5;i+) for(j=0;jaij)s=aij; return(s); /* End */16、功能:求1到100之间的偶数之积。/*Program*/ double y=1; int i; for(i=1;i=m;i+) if(i%2=0)y*=i; return y; /* End *17、功能:请编一个函数void fun(int ttMN,int ppN),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。/*Program*/ int i,j; for(j=0;jN;j+) ppj=tt0j; for(i=1;iM;i+) if(ttijppj) ppj=ttij; /* End */18、功能:求一组数中大于平均值的数的个数。例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 /*Program*/ int i,k=0; float s=0,ave; for(i=0;in;i+) s+=ai; ave=s/n; printf(%f ,ave); for(i=0;iave)k+; return k; /* End */19、功能:输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数。例如:输入的字符串为ab234$df4,新生成的串为abdf 。/*Program*/ int i,j;for(i=0,j=0;*(ptr+i)!=0;i+)if(*(ptr+i)=a|*(ptr+i)=A)*(ptr+j)=*(ptr+i);j+;*(ptr+j)=0;return(j); /* End */20、功能:求一批数中最大值和最小值的积。/*Program*/ int i,max,min; max=a0; min=a0; for(i=0;imax) max=ai; if(aimin) min=ai; return max*min; /* End */21、功能:编写函数fun求s=1k+2k +3k + .+Nk的值,(1的K次方到N的K次方的累加和)。/*Program*/ long power,sum=0; int i,j; for(i=1;i=n;i+) power=i; for(j=1;jk;j+) power *= i; sum += power; return sum; /* End */22、功能:编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出。例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。/*Program*/ int i,t; for(i=0;in/2;i+) t=arri; arri=arrn-1-i; arrn-1-i=t; /* End */ 23、功能:找出一批正整数中的最大的偶数。/*Program*/ int i,amax=-1; for(i=0;iamax) amax=ai; return amax; /* End */24、功能:计算并输出给定整数n的所有因子之和(不包括1与 自身)。注意:n的值不大于1000。例如:n的值为855时,应输出704。 /*Program*/ int s=0,i; for(i=2;i0) d=n%10; s+=d*d*d; n/=10; return s;/* End */26、功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积,并在fun()函数中输出。/*Program*/ int sum;int i,j;sum=1;for(i=0;i3;i+) sum=sum*aii; return sum; /* End */27、功能:用函数求N个10,60上的整数中能被5整除的最大的数,如存在则返回这个最大值,如果不存在则返回0。int m=0; /*Program*/ int i; for(i=0;im) m=arri; /* End */ return(m);28、功能:编写函数fun,求任一整数m的n次方。/*Program*/ long int x=1; int i; for(i=1;i=n;i+) x=x*m; return x; /* End */29、功能:求一批数中小于平均值的数的个数。/*Program*/ int i,sum=0,k=0; double average; for(i=0;in;i+) sum=sum+ai; average=sum*1.0/n; for(i=0;iai) k+;return(k); /* End */30、功能:从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x4) z=x的八次幂(x-4) z=z=4/(x*(x+1)(x-10) z=|x|+20(其他)/*Program*/ float z; if(x4) z=sqrt(x-4); else if(x-4) z=pow(x,8); else if(x-10) z=4/(x*(x+1); else z=fabs(x)+20; return(z);/* End */31、功能:能计算从1开始到n的自然数中偶数的平方的和,n由键盘输入,并在main()函数中输出。(n是偶数)/*Program*/ int sum,i;sum =0;for(i=2;i=5)return(int)(h*100+1)/100.0;elsereturn(int)(h*100)/100.0;/* End */34、功能:编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序。 /*Program*/ int t=*a; *a=*b; *b=t; /* End */35、功能:实现两个整数的交换。例如:给a和b分别输入:60和65,输入为:a=65 b=60 /*Program*/ int t; t=*a;*a=*b;*b=t; /* End */36、功能:求一个n位自然数的各位数字的积。(n 是小于10的自然数) /*Program*/ long d,s=1; while (n0) d=n%10; s*=d; n/=10; return s; /* End */37、功能:输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数。例如:输入的字符串为ab234$df4,新生成的串为abdf 。/*Program*/int i,j;for(i=0,j=0;*(ptr+i)!=0;i+)if(*(ptr+i)=a|*(ptr+i)=A)*(ptr+j)=*(ptr+i);j+;*(ptr+j)=0;return(j);/* End */38、功能:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13的前n项之和。说明:每一分数的分母是前两项的分母之和,每一分数的分子是前两项的分子之和。例如:求前20项之和的值为32.660259。/*Program*/ int i; float f1=1,f2=1,f3,s=0; for(i=1;i=n;i+) f3=f1+f2; f1=f2; f2=f3; s=s+f2/f1; return s; /* End */39、功能:计算n门课程的平均值,计算结果作为函数值返回。例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.600000。/*Program*/ int i; float y=0; for(i=0;in;i+) y+=ai; y=y/n; return y; /* End */40、功能:编写函数求表达式的和(n的值由主函数输入)。1-1/2+1/3-1/4+.+1/m例如:当n=20时,表达式的值为0.668771。/*Program*/ float s=0; int i,k=1; for(i=1;i=n;i+) s=s+k*1.0/i; k=-k; return(s);/* End */41、功能:编写函数fun对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。/*Program*/ int k,j,t; for (k=0;kn-1;k+) for (j=k+1;jn;j+) if (arraykarrayj) t=arrayk; arrayk=arrayj; arrayj=t;/* End */42、功能:用辗转相除法求两个整数的最大公约数。/*Program*/ int r; do r=n%m;n=m;m=r; while(r!=0); return

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论