1、C程序设计编程题1. abc为一位整数求满足abc加cba等于1333的各值#includevoid main() int a,b,c; for(a=0;a=9;a+) for(b=0;b=9;b+) for(c=0;c=9;c+) if(100*(a+c)+20*b+a+c=1333) printf(a=%d b=%d c=%dn,a,b,c); 2, a加a的平方加到a的n次方#includevoid main() int a,n,i; long k=1,s=0; scanf(%d%d,&a,&n); for(i=1;i=n;i+) k=k*a; s=s+k; printf(a=%d n=
2、%dns=%ldn,a,n,s);3, 插入数据到数组#includevoid main() int a11=1,4,6,9,13,16,19,28,40,100; int temp1,temp2,num,end,i,j; printf(初始数组如下:); for (i=0;iend) a10=num; else for(i=0;inum) for(j=9;j=i;j-) aj+1=aj; ai=num; break; for(i=0;j11;i+) printf(%5d,ai); printf(n);4, 从键盘输入一个字符串,再输入两个正整数m和n,输出字符串中从m开始,连续n个字符。例如
3、:输入abcdefg,2,3,输出bcd#includevoid main() char a100; gets(a); int m,n,i; scanf(%d%d,&m,&n); for(i=m-1;im+n-1;i+) printf(%c,ai); printf(n);5,大小写字母的转换#includevoid main() char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(%c %c,c1,c2);6,递归法求n!#includevoid main() float fac(int n); int n; float y; printf(i
4、nput an integer number:); scanf(%d,&n); y=fac(n); printf(%d!=%10.0fn,n,y);float fac(int n) float f; if(n0) printf(n0,dataerror!); else if(n=0|n=1) f=1; else f=fac(n-1)*n; return(f);7,对角线元素之和#includevoid main() int a33,sum=0; int i,j; printf(请输入矩阵元素:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%f,aij); fo
5、r(i=0;i3;i+) sum=sum+aii; printf(对角元素之和=6.2f,sum);8,给一个不多于5位的正整数,要求1求它是几位数2分别打印出每一位数字#includevoid main() long int num; int place; printf(请输入一个整数(099999): ); scanf(%ld,&num); if(num9999) place=5;else if(num999) place=4;else if(num99) place=3;else if(num9) place=2;else place=1;printf(place=%dn,place);
6、printf(每位数字为:);9,猴子摘桃#includevoid main() int day,x1,x2; day=9; x2=1; while(day0) x1=(x2+1)*2; x2=x1; day-; printf(total=%dn,x1);10,计算并输出1200之间不能被5整除的整数之和#includevoid main() int i,sum=0; for(i=1;i=200;i+) if(i%5!=0)sum=sum+i; printf(%dn,sum);11,将输入的一个字符串中的a用xinghao代替 输出#includevoid main() char str10;
7、 int i; scanf(%s,str); for(i=0;i10;i+) if(stri=a) stri=*; puts(str);12,将一个大写字母改用小写输出#includevoid main() char c1,c2; c1=getchar(); printf(%c,%dn,c1,c1); c2=c1+32; printf(%c,%dn,c2,c2);13,将一个数组逆序存放#include#define N 5void main() int aN=8,6,5,4,1,i,temp; printf(enter array:n); for(i=0;iN;i+) scanf(%d,&a
8、i); printf(array a:n); for(i=0;iN;i+) printf(%4d,ai); for(i=0;iN/2;i+) temp=ai; ai=aN-i-1; aN-i-1=temp; printf(nNow,array a:n); for(i=0;iN;i+) printf(%4d,ai); printf(n);14,矩阵的行列互换#include#define N 3int arrayNN;void main() void convert(int array3); int i,j; printf(intput array:n); for(i=0;iN;i+) for(
9、j=i+1;jN;j+) scanf(%d,arrayij); printf(noriginal array:n); for(i=0;iN;i+) for(j=0;jN;j+) printf(%5d,arrayij); printf(n); void convert(int array3) int i,j,t; for(i=0;iN;i+) for(j=i+1;jN;j+) t=arrayij; arrayij=arrayji; arrayji=t; 15,连接两个字符串#includevoid main() char s180,s240; int i=0,j=0; printf(n请输入字符
10、串1:); scanf(%s,s1); printf(n请输入字符串2:); scanf(%s,s2); while(s1i!=0) i+; while(s2j!=0) s1i+=s2j+; s1i=0; printf(n连接后字符串为:%s,s1);16,判断m是否为素数#include#includevoid main() int m,i,k; scanf(%d,&m); k=sqrt(m); for(i=2;ik) printf(%d is a prime numbern,m); else printf(%d is not a prime numbern,m);17,判断整数是否为素数#
11、includevoid main() int prime(int); int n; printf(nintput an integer:); scanf(%d,&n); if(prime(n) printf(n %d is a prime.n,n); else printf(n %d is not a prime.n,n); int prime(int n) int flag=1,i; for(i=2;in/2&flag=1;i+) if(n%i=0) flag=0; return(flag); 18,起泡法排序#include#include#define N 10char strN;voi
12、d main() void sort(char); int i,flag; for(flag=1;flag=1;) printf(intput string:n); scanf(%s,&str); if(strlen(str)N) printf(string too long,intput again!); else flag=0;sort(str);printf(string sorted:);for(i=0;iN;i+) printf(%c,stri);printf(n);void sort(char str) int i,j; char t; for(j=1;jN;j+) for(i=0
13、;(istri+1) t=stri; stri=stri+1; stri+1=t; 19,求1!+2!+ 20!#includevoid main() float s=0,t=1; int n; for(n=1;n=20;n+) t=t*n; s=s+t; printf(1!+2!+3!+.+20!=%en,s);20,求1到100的和#includevoid main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%dn,sum);21,求1到100的和加上1到50的平方和再加上1到10的倒数和#includevoid main
14、() int n1=100,n2=50,n3=10; float k; float s1=0,s2=0,s3=0; for(k=1;k=n1;k+) s1=s1+k; for(k=1;k=n2;k+) s2=s2+k*k; for(k=1;k=n3;k+) s3=s3+1/k; printf(sum=%8.2fn,s1+s2+s3);22,求5!#includevoid main() int t=1,i=2; do t=t*i; i+; while(i=5); printf(t=%dn,t);23,求100200间的全部素数#include#includevoid main() int m,k
15、,i,n=0; for(m=101;m=200;m=m+2) k=sqrt(m); for(i=2;i=k+1) printf(%d,m); n=n+1; if(n%10=0) printf(n); printf(n);24,求100之内能被17整除的最大的数#includevoid main() int i; for(i=100;i=1;i-) if(i%17=0) printf(%dn,i); break; 25,求Fibonacci数列的前40个数一、#includevoid main() long int f1,f2; int i; f1=1;f2=1; for(i=1;i=20;i+
16、) printf(%12ld %12ld,f1,f2); if(i%2=0) printf(n); f1=f1+f2; f2=f2+f1; 二、#includevoid main() long int f1,f2,t; int i; f1=1;f2=1; printf(%12ld %12ld,f1,f2); for(i=3;i=40;i+) t=f1+f2; printf(%12ld ,t); if(i%4=0) printf(n); f1=f2; f2=t; 26,求m 和n的最大公约数和最小公倍数#includevoid main() int p,r,n,m,temp; printf(请输
17、入两个正整数:); scanf(%d,%d,&n,&m); if(nm) temp=n; n=m; m=temp; p=n*m; while(m!=0) r=n%m; n=m; m=r; printf(它们的最大公约数为:%dn,n); printf(它们的最小公倍数为:%dn,p/n);27.求Sn的值#includevoid main() int p,r,n,m,temp; printf(请输入两个正整数:); scanf(%d,%d,&n,&m); if(nm) temp=n; n=m; m=temp; p=n*m; while(m!=0) r=n%m; n=m; m=r; printf
18、(它们的最大公约数为:%dn,n); printf(它们的最小公倍数为:%dn,p/n);28、求两数之和#includevoid main() float add(float x,float y); float a,b,c; scanf(%f,%f,&a,&b); c=add(a,b); printf(sum is %fn,c);float add(float x,float y) float z; z=x+y; return(z);29,求满足1到n的平方的和小于等于800的最大的n值#includevoid main() int i,n,sum=0; for(i=1;i+) sum+=i
19、*i; if(sum800)break; n=i-1; printf(最大n=%dn,n);29,求数列的前20项之和#includevoid main() int i,t,n=20; float a=2,b=1,s=0; for(i=1;i=n;i+) s=s+a/b; t=a; a=a+b; b=t; printf(sum=%9.6fn,s);30,求五个数是几位数,各位数字逆序输出#includevoid main() int i,a,b,c,d,e; scanf(%d,&i); if(i=100000)printf(errorn); else if(i9999)printf(它是一个五
20、位数); else if(i999)printf(它是一个四位数); else if(i99)printf(它是一个三位数); else if(i9)printf(它是一个二位数); else printf(它是一个一位数); printf(n); a=i/10000,b=i/1000-a*10,c=i/100-b*10-a*100, d=i/10-c*10-b*100-a*1000,e=i%10; if(a=0) if(b=0) if(c=0) if(d=0)printf(%d,e); else printf(%d%d,e,d); else printf(%d%d%d,e,d,c); els
21、e printf(%d%d%d%d,e,d,c,b); else printf(%d%d%d%d%d,e,d,c,b,a); printf(n);31,求一维数组内10个学生的平均成绩#includevoid main() float average(float array10); float score10,aver; int i; printf(input 10 scores:n); for(i=0;i10;i+) scanf(%f,&scorei); printf(n); aver=average(score); printf(average score is %5.2fn,aver);
22、float average(float array10) int i; float aver,sum=array0; for(i=1;i10;i+) sum=sum+arrayi; aver=sum/10; return(aver);32,求的前十五项之和#includevoid main() float a16,b15,sum=0.0; int i; a0=1,a1=2; for(i=2;i16;i+) ai=ai-1+ai-2; for(i=0;i15;i+) bi=ai+1/ai; for(i=0;i15;i+) sum+=bi; printf(sum=%fn,sum);33,求圆周长
23、圆面积 圆球表面积 圆球体积 圆柱体积#includevoid main() float h,r,l,s,sq,vq,vz; float pi=3.1415926; printf(请输入圆半径 r,圆柱高 h:); scanf(%f,%f,&r,&h); l=2*pi*r; s=r*r*pi; sq=4*pi*r*r; vq=4.0/3.0*pi*r*r*r; vz=pi*r*r*h; printf(圆周长为: l=%6.2fn,l); printf(圆面积为: s=%6.2fn,s); printf(圆球表面积为: sq=%6.2fn,sq); printf(圆球体积为: vq=%6.2fn,vq); printf(圆柱体积为: vz=%6.2fn,vz);34、球从高处落下的反弹#includevoid main() float sn=100,hn=sn/2; int n; for(n=2;n=10;n+) sn=sn+2*hn; hn=hn/2; printf(第十次落地时共经过%fm。n,sn); printf(第十次反弹%fm。n,hn);35、三个学生四门成绩,求每个学生的总成绩和平均成绩#includevoid main() int a34=60,70,65,75,75,80,75,90,95,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1