c语言大题.docx
- 文档编号:29379889
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:14
- 大小:19.52KB
c语言大题.docx
《c语言大题.docx》由会员分享,可在线阅读,更多相关《c语言大题.docx(14页珍藏版)》请在冰豆网上搜索。
c语言大题
1.功能:
计算并输出给定整数n的所有因子之和(不包括1与自身)。
注意:
n的值不大于1000。
例如:
n的值为12时,除了1和12外的因子有2、3、4、6,和为15,应输出15
ints=0,i;
for(i=2;i if(n%i==0)s=s+i; returns; 2.功能: 求大于lim(lim小于100的整数)并且小于100的所有 素数并放在aa数组中,该函数返回所求出素数的个数。 intn=0; inti,j; for(i=lim;i<=100;i++) {for(j=2;j if(i%j==0)break; if(j==i)aa[n++]=i; } returnn; 3.功能: 求1到w之间的奇数之和。 (w是大于等于100小于等 于1000的整数)。 longy=0; inti; for(i=1;i<=w;i++) if(i%2==1)y+=i; returny; 4.功能: 能计算从1开始到n的自然数的和,n由键盘输入, 并在main()函数中输出。 请使用for循环实现 intsum,i; sum=0; for(i=1;i<=n;i++) {sum=sum+i;} return(sum); 5.功能: 编写程序,使用循环将矩阵(3行3列)各元素值乘2。 例如: 输入下面的矩阵: 100200300 400500600 700800900 程序输出: 200400600 80010001200 140016001800 inti,j; for(i=0;i<3;i++) for(j=0;j<3;j++) array[i][j]=array[i][j]*2; 6.功能: 把20个随机数存入一个数组,然后输出该数组中的最大值 inti,max=0; for(i=1;i if(list[max] max=i; returnmax; 7.功能: 编写函数fun其功能是: 根据整型形参m,计算如下 公式的值: y=1+1/3+1/5+1/7+...+1/(2m+1) 例如: 若m=9,则应输出: 2.133256 doubley=1; inti; for(i=1;i<=m;i++) {y+=1.0/(2*i+1);} return(y); 8.功能: 判断m是否为素数。 inti,k=1; if(m<=1)k=0; for(i=2;i if(m%i==0)k=0; returnk; 9.功能: 求小于lim的所有素数并放在aa数组中,该函数返回 所求出素数的个数。 intn=0; inti,j; for(i=2;i<=lim;i++) {for(j=2;j if(i%j==0)break; if(j==i)aa[n++]=i; } returnn; 10.功能: 在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的平方和。 fun() 函数的功能为求对角线元素的和。 程序中如果用到 循环,必须使用for循环。 intsum; inti; sum=0; for(i=0;i<3;i++) sum=sum+a[i][i]*a[i][i]; returnsum; 11.功能: 求一个给定字符串中的字母的个数。 inti,k=0; for(i=0;s[i]! ='\0';i++) if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') k++; returnk; 12.功能: 编写函数fun其功能是: 根据整型形参m,计算如下 公式的值: y=1/2! +1/4! +...+1/m! (m是偶数)。 doubley=0.0; inti,j; doubles=1; for(i=2;i<=m;i+=2) { for(j=i-1;j<=i;j++) s=s*j; y=y+1.0/s; } returny; 13、从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。 intmin,i; min=x[0]; for(i=1;i {if(x[i] returnmin; 14.功能: 将两个两位数的正整数a、b合并形成一个整数放在c 中。 合并的方式是: 将a数的十位和个位数依次放 在c数的个位和百位上,b数的十位和个位数依次放 在c数的十位和千位上。 例如: 当a=45,b=12,调用该函数后,c=2514。 *c=a/10+a%10*100+b/10*10+b%10*1000; 15.功能: 编写函数判断一个整数m的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。 调用该函数找出 100~200之间满足条件的所有数。 intk,s=0; do {s=s+m%10; m=m/10; }while(m! =0); if(s%7==0)k=1; elsek=0; return(k); 16.功能: 将主函数中输入的字符串反序存放。 例如: 输入字符串"abcdefg",则应输出"gfedcba"。 inti,j; charc; for(i=0,j=n-1;i /*或者for(i=0,j=n-1;i {c=*(str+i); *(str+i)=*(str+j); *(str+j)=c;} 17.功能: 把20个随机数存入一个数组,然后输出该数组中的 最小值。 其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。 inti,min=0; for(i=1;i if(list[min]>list[i]) min=i; returnmin; 18.功能: 编写函数对数组中的数据进行从小到大的排序。 ------------------------------------------------*/ inti,j,t; for(i=0;i for(j=0;j if(a[j]>a[j+1]) {t=a[j]; a[j]=a[j+1]; a[j+1]=t; } -------------------------------------------------- 19.功能: 从低位开始取出长整型变量s奇数位上的数,依次构成一个新数放在t中。 例如: 当s中的数为: 7654321时,t中的数为: 7531。 longsl=10; t=s%10; while(s>0) {s=s/100; t=s%10*sl+t; sl=sl*10; 20.求一个正整数的各位数字的立方和。 intd,k,s=0; while(n>0) {d=n%10; s+=d*d*d; n/=10; } returns; 21.求给定正整数n以内的素数之积。 (n<28) long i,k; long s=1; for(i=2;i<=n;i++) {for(k=2;k if(i%k==0)break; if(k==i)s=s*i; } return s; 22.功能: 求5行5列矩阵的主、副对角线上元素之和。 注意,两条对角线相交的元素只加一次。 例如: 主函数中给出的矩阵的两条对角线的和为45。 ints=0; inti,j; for(i=0;i s=s+a[i][i]+a[i][M-1-i]; s=s-a[(M-1)/2][(M-1)/2]; returns; 23.功能: 编写程序求无理数e的值并输出。 计算公式为: e=1+1/1! +1/2! +1/3! +......+1/n! 当1/n! <0.000001时e=2.718282。 longintj; inti,k; floate,jc; i=1; e=0.0; jc=1.0; while(jc>=0.000001) { e=e+jc; j=1; for(k=1;k<=i;k++) j=j*k; jc=1.0/j; i++; } 24.请编一个函数: void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。 二维数组中的数已在主函数中赋予。 int i,j; for(j=0;j { pp[j]=tt[0][j]; for(i=1;i if(tt[i][j] pp[j]=tt[i][j];} 25.用函数求fibonacci数列前28项的和。 程序中如果用到循环,必须使用for循环。 说明: fibonacci数列为数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项的和。 运行结果: 832039。 long f,k=f1+f2; int i; for(i=3;i<=28;i++) {f=f1+f2; k=k+f; f1=f2; f2=f; } return(k); 26.功能: 从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的平方根(x>4) z=x的八次幂(4>x>-4) z=4/(x*(x+1))(-4>x>-10) z=|x|+20(其他) 提示: x的八次幂请使用幂函数pow求得,平方根函数是sqrt。 floatz; if(x>4)z=sqrt(x-4); elseif(x>-4)z=pow(x,8); elseif(x>-10)z=4/(x*(x+1)); elsez=fabs(x)+20; return(z); 27.功能: 从低位开始取出长整型变量s中偶数位上的数,依次 构成一个新数放在t中。 例如: 当s中的数为: 7654321时,t中的数为: 642。 longsl=10; s/=10; t=s%10; while(s>0) {s=s/100; t=s%10*sl+t; sl=sl*10; 28.功能: 求一组数中大于平均值的数的个数。 例如: 给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3 inti,k=0; floats=0,ave; for(i=0;i s+=a[i]; ave=s/n; printf("%f",ave); for(i=0;i if(a[i]>ave)k++; returnk; 29.功能: 编写函数fun,求任一整数m的n次方。 longintx=1; inti; for(i=1;i<=n;i++) x=x*m; returnx; 30.功能: 根据整型形参m,计算如下公式的值: y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5) 例如: 若m=9,则应输出: 1.168229 doubley=0; inti; for(i=0;i<=m;i++) {y+=1.0/(i+5);} return(y); 31.功能: 编写函数fun生成一个主对角线元素为1,其他元素都 为0的3*3的二维数组。 for(i=0;i<3;i++) for(j=0;j<3;j++) if(i==j) arr[i][j]=1; else arr[i][j]=0; 32.功能: 调用函数fun判断一个三位数是否"水仙花数"。 在main函数中从键盘 输入一个三位数,并输出判断结果。 请编写fun函数。 说明: 所谓"水仙花数"是指一3位数,其各位数字立方和等于该数本身。 例如: 153是一个水仙花数,因为153=1+125+27。 intbw,sw,gw; bw=n/100;sw=(n-bw*100)/10;gw=n%10; if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return1; elsereturn0; 33.根据整型形参m,计算如下公式的值: y=1/2+1/4+1/6+...+1/2m 。 程序中如果用到循环,必须使用for循环。 例如: 若m=9,则应输出: 1.414484 double y=0; int i; for(i=1; i<=m; i++) {y+=1.0/(2*i); } return(y); 34.编写函数判断一个整数能否同时被3和5整除,若能则返回值为1,否则为0。 调用该函数求出15~300之间能同时被3和5整除的数的个数。 if(n%3==0&&n%5==0) return (1); return(0); 35.将两个两位数的正整数a、b合并形成一个整数放在c中。 合并的方式是: 将a数的十位和个位数依次放在c数的千位和十位上, b数的十位和个位数依次放在c数的个位和百位上。 例如: 当a=45,b=12。 调用该函数后,c=4251。 *c=a/10*1000+a%10*10+b/10+b%10*100; 36.判断整数x是否是同构数。 若是同构数,函数返回1;否则返回0。 x的值由主函数从键盘读入,要求不大于100。 说明: 所谓"同构数"是指这样的数,这个数出现在它的平方数的右边。 例如: 输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。 int k; k=x*x; if((x<10 && k%10==x)||(x>9 && k%100==x)) return 1; else return 0; 37.功能: 在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积。 fun()函数的功能为求对角线元素的积。 intsum; inti,j; sum=1; for(i=0;i<3;i++) sum=sum*a[i][i]; returnsum; 38.产生20个随机整数放入二维数组a[5][4]中,利用函数row_sum求每行元素的和,并将和放到另一个数组中。 int i,j; for(i=0;i<5;i++) { b[i]=0; for(j=0;j<4;j++) b[i]=b[i]+a[i][j]; 39.功能: 根据整型形参m,计算如下公式的值: y=sin(m)*10。 例如: 若m=9,则应输出: 4.121185 doubley=0; y=sin(m)*10; return(y); } 40.功能: 求出N×M整型数组的最大元素及其所在的行坐标及列坐标 (如果最大元素不唯一,选择位置在最前面的一个)。 例如: 输入的数组为: 123 4156 12189 10112 求出的最大数为18,行坐标为2,列坐标为1。 intmax,i,j; max=array[0][0]; Row=0; Col=0; for(i=0;i {for(j=0;j if(max {max=array[i][j]; Row=i; Col=j;} } return(max);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言