C程序设计编程题.docx
- 文档编号:10803860
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:53
- 大小:24.25KB
C程序设计编程题.docx
《C程序设计编程题.docx》由会员分享,可在线阅读,更多相关《C程序设计编程题.docx(53页珍藏版)》请在冰豆网上搜索。
C程序设计编程题
1.abc为一位整数求满足abc加cba等于1333的各值
#include
voidmain()
{
inta,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=%db=%dc=%d\n",a,b,c);
}
2,a加a的平方加到a的n次方
#include
voidmain()
{
inta,n,i;
longk=1,s=0;
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
{
k=k*a;
s=s+k;
}
printf("a=%dn=%d\ns=%ld\n",a,n,s);
}
3,插入数据到数组
#include
voidmain()
{
inta[11]={1,4,6,9,13,16,19,28,40,100};
inttemp1,temp2,num,end,i,j;
printf("初始数组如下:
");
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
printf("输入插入数据:
");
scanf("%d",&num);
end=a[9];
if(num>end)
a[10]=num;
else
{
for(i=0;i<10;i++)
if(a[i]>num)
{
for(j=9;j>=i;j--)
a[j+1]=a[j];
a[i]=num;
break;
}
}
for(i=0;j<11;i++)
printf("%5d",a[i]);
printf("\n");
}
4,从键盘输入一个字符串,再输入两个正整数m和n,输出字符串中从m开始,连续n个字符。
例如:
输入abcdefg,2,3,输出bcd
#include
voidmain()
{
chara[100];
gets(a);
intm,n,i;
scanf("%d%d",&m,&n);
for(i=m-1;i printf("%c",a[i]); printf("\n"); } 5,大小写字母的转换 #include voidmain() { charc1,c2; c1='a'; c2='b'; c1=c1-32; c2=c2-32; printf("%c%c",c1,c2); } 6,递归法求n! #include voidmain() { floatfac(intn); intn; floaty; printf("inputanintegernumber: "); scanf("%d",&n); y=fac(n); printf("%d! =%10.0f\n",n,y); } floatfac(intn) { floatf; if(n<0) { printf("n<0,dataerror! "); } else if(n==0||n==1) f=1; else f=fac(n-1)*n; return(f); } 7,对角线元素之和 #include voidmain() { inta[3][3],sum=0; inti,j; printf("请输入矩阵元素: \n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%f",a[i][j]); for(i=0;i<3;i++) sum=sum+a[i][i]; printf("对角元素之和=6.2f",sum); } 8,给一个不多于5位的正整数,要求1求它是几位数2分别打印出每一位数字 #include voidmain() { longintnum; intplace; printf("请输入一个整数(0~99999): "); scanf("%ld",&num); if(num>9999) place=5; elseif(num>999) place=4; elseif(num>99) place=3; elseif(num>9) place=2; elseplace=1; printf("place=%d\n",place); printf("每位数字为: "); } 9,猴子摘桃 #include voidmain() { intday,x1,x2; day=9; x2=1; while(day>0) { x1=(x2+1)*2; x2=x1; day--; } printf("total=%d\n",x1); } 10,计算并输出1—200之间不能被5整除的整数之和 #include voidmain() { inti,sum=0; for(i=1;i<=200;i++) if(i%5! =0)sum=sum+i; printf("%d\n",sum); } 11,将输入的一个字符串中的a用xinghao代替输出 #include voidmain() { charstr[10]; inti; scanf("%s",str); for(i=0;i<10;i++) if(str[i]=='a') str[i]='*'; puts(str); } 12,将一个大写字母改用小写输出 #include voidmain() { charc1,c2; c1=getchar(); printf("%c,%d\n",c1,c1); c2=c1+32; printf("%c,%d\n",c2,c2); } 13,将一个数组逆序存放 #include #defineN5 voidmain() { inta[N]={8,6,5,4,1},i,temp; printf("enterarray: \n"); for(i=0;i scanf("%d",&a[i]); printf("arraya: \n"); for(i=0;i printf("%4d",a[i]); for(i=0;i { temp=a[i]; a[i]=a[N-i-1]; a[N-i-1]=temp; } printf("\nNow,arraya: \n"); for(i=0;i printf("%4d",a[i]); printf("\n"); } 14,矩阵的行列互换 #include #defineN3 intarray[N][N]; voidmain() { voidconvert(intarray[][3]); inti,j; printf("intputarray: \n"); for(i=0;i for(j=i+1;j scanf("%d",array[i][j]); printf("\noriginalarray: \n"); for(i=0;i { for(j=0;j printf("%5d",array[i][j]); printf("\n"); } } voidconvert(intarray[][3]) { inti,j,t; for(i=0;i for(j=i+1;j { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } } 15,连接两个字符串 #include voidmain() { chars1[80],s2[40]; inti=0,j=0; printf("\n请输入字符串1: "); scanf("%s",s1); printf("\n请输入字符串2: "); scanf("%s",s2); while(s1[i]! ='\0') i++; while(s2[j]! ='\0') s1[i++]=s2[j++]; s1[i]='\0'; printf("\n连接后字符串为: %s",s1); } 16,判断m是否为素数 #include #include voidmain() { intm,i,k; scanf("%d",&m); k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>k)printf("%disaprimenumber\n",m); elseprintf("%disnotaprimenumber\n",m); } 17,判断整数是否为素数 #include voidmain() { intprime(int); intn; printf("\nintputaninteger: "); scanf("%d",&n); if(prime(n)) printf("\n%disaprime.\n",n); else printf("\n%disnotaprime.\n",n); } intprime(intn) { intflag=1,i; for(i=2;i if(n%i==0) flag=0; return(flag); } 18,起泡法排序 #include #include #defineN10 charstr[N]; voidmain() { voidsort(char[]); inti,flag; for(flag=1;flag==1;) { printf("intputstring: \n"); scanf("%s",&str); if(strlen(str)>N) printf("stringtoolong,intputagain! "); else flag=0; } sort(str); printf("stringsorted: "); for(i=0;i printf("%c",str[i]); printf("\n"); } voidsort(charstr[]) { inti,j; chart; for(j=1;j for(i=0;(i ='\0');i++) if(str[i]>str[i+1]) { t=str[i]; str[i]=str[i+1]; str[i+1]=t; } } 19,求1! +2! +++20! #include voidmain() { floats=0,t=1; intn; for(n=1;n<=20;n++) { t=t*n; s=s+t; } printf("1! +2! +3! +...+20! =%e\n",s); } 20,求1到100的和 #include voidmain() { inti,sum=0; i=1; while(i<=100) { sum=sum+i; i++; } printf("%d\n",sum); } 21,求1到100的和加上1到50的平方和再加上1到10的倒数和 #include voidmain() { intn1=100,n2=50,n3=10; floatk; floats1=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.2f\n",s1+s2+s3); } 22,求5! #include voidmain() { intt=1,i=2; do { t=t*i; i++; } while(i<=5); printf("t=%d\n",t); } 23,求100~200间的全部素数 #include #include voidmain() { intm,k,i,n=0; for(m=101;m<=200;m=m+2) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0) break; if(i>=k+1) { printf("%d",m); n=n+1; } if(n%10==0) printf("\n"); } printf("\n"); } 24,求100之内能被17整除的最大的数 #include voidmain() { inti; for(i=100;i>=1;i--) if(i%17==0) { printf("%d\n",i); break; } } 25,求Fibonacci数列的前40个数 一、 #include voidmain() { longintf1,f2; inti; f1=1;f2=1; for(i=1;i<=20;i++) { printf("%12ld%12ld",f1,f2); if(i%2==0) printf("\n"); f1=f1+f2; f2=f2+f1; } } 二、 #include voidmain() { longintf1,f2,t; inti; 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的最大公约数和最小公倍数 #include voidmain() { intp,r,n,m,temp; printf("请输入两个正整数: "); scanf("%d,%d",&n,&m); if(n { temp=n; n=m; m=temp; } p=n*m; while(m! =0) { r=n%m; n=m; m=r; } printf("它们的最大公约数为: %d\n",n); printf("它们的最小公倍数为: %d\n",p/n); } 27.求Sn的值 #include voidmain() { intp,r,n,m,temp; printf("请输入两个正整数: "); scanf("%d,%d",&n,&m); if(n { temp=n; n=m; m=temp; } p=n*m; while(m! =0) { r=n%m; n=m; m=r; } printf("它们的最大公约数为: %d\n",n); printf("它们的最小公倍数为: %d\n",p/n); } 28、求两数之和 #include voidmain() { floatadd(floatx,floaty); floata,b,c; scanf("%f,%f",&a,&b); c=add(a,b); printf("sumis%f\n",c); } floatadd(floatx,floaty) { floatz; z=x+y; return(z); } 29,求满足1到n的平方的和小于等于800的最大的n值 #include voidmain() { inti,n,sum=0; for(i=1;;i++) { sum+=i*i; if(sum>800)break; } n=i-1; printf("最大n=%d\n",n); } 29,求数列的前20项之和 #include voidmain() { inti,t,n=20; floata=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.6f\n",s); } 30,求五个数是几位数,各位数字逆序输出 #include voidmain() { inti,a,b,c,d,e; scanf("%d",&i); if(i>=100000)printf("error\n"); elseif(i>9999)printf("它是一个五位数"); elseif(i>999)printf("它是一个四位数"); elseif(i>99)printf("它是一个三位数"); elseif(i>9)printf("它是一个二位数"); elseprintf("它是一个一位数"); 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); elseprintf("%d%d",e,d); } elseprintf("%d%d%d",e,d,c); } elseprintf("%d%d%d%d",e,d,c,b); } elseprintf("%d%d%d%d%d",e,d,c,b,a); printf("\n"); } 31,求一维数组内10个学生的平均成绩 #include voidmain() { floataverage(floatarray[10]); floatscore[10],aver; inti; printf("input10scores: \n"); for(i=0;i<10;i++) scanf("%f",&score[i]); printf("\n"); aver=average(score); printf("averagescoreis%5.2f\n",aver); } floataverage(floatarray[10]) { inti; floataver,sum=array[0]; for(i=1;i<10;i++) sum=sum+array[i]; aver=sum/10; return(aver); } 32,求~~~的前十五项之和 #include voidmain() { floata[16],b[15],sum=0.0; inti; a[0]=1,a[1]=2; for(i=2;i<16;i++) a[i]=a[i-1]+a[i-2]; for(i=0;i<15;i++) b[i]=a[i+1]/a[i]; for(i=0;i<15;i++) sum+=b[i]; printf("sum=%f\n",sum); } 33,求圆周长圆面积圆球表面积圆球体积圆柱体积 #include voidmain() { floath,r,l,s,sq,vq,vz; floatpi=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.2f\n",l); printf("圆面积为: s=%6.2f\n",s); printf("圆球表面积为: sq=%6.2f\n",sq); printf("圆球体积为: vq=%6.2f\n",vq); printf("圆柱体积为: vz=%6.2f\n",vz); } 34、球从高处落下的反弹 #include voidmain() { floatsn=100,hn=sn/2; intn; for(n=2;n<=10;n++) { sn=sn+2*hn; hn=hn/2; } printf("第十次落地时共经过%fm。 \n",sn); printf("第十次反弹%fm。 \n",hn); } 35、三个学生四门成绩,求每个学生的总成绩和平均成绩 #include voidmain() { inta[3][4]={60,70,65,75,75,80,75,90,95,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 编程