c语言考试整理.docx
《c语言考试整理.docx》由会员分享,可在线阅读,更多相关《c语言考试整理.docx(29页珍藏版)》请在冰豆网上搜索。
c语言考试整理
1.键盘上输入n个数,输出最大值最小值.
#include
#defineM30
intmain()
{inta[M],n,i,max,min;
printf("请输入n(n<%d):
",M);
scanf("%d",&n);
printf("请输入这%d个数:
\n",n);
for(i=0;iscanf("%d",&a[i]);max=min=a[0];for(i=0;i{if(a[i]>max)max=a[i];}for(i=0;i{if(a[i]min=a[i];}printf("这%d个数中最大的数为:%d\n",n,max);printf("这%d个数中最小的数为:%d\n",n,min);return0;}2.求一个3位数abc使得a的阶乘+b的阶乘+c的阶乘=abc#includeintfac(intx){intm,n=1;for(m=1;m<=x;m++)n=n*m;return(n);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(fac(g)+fac(s)+fac(b)==i)printf("%d!+%d!+%d!=%d\n",b,s,g,i);}}3.题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。#includeintmain(){intn;floatt=0,s=2,k=1,m;for(n=1;n<=20;n++){t=t+s/k;m=s;s=s+k;k=m;}printf("%f\n",t);return0;}4.输入整数N,求N的阶乘#includeintmain(){intn,i,s=1;printf("请输入您要计算的数n:");scanf("%d",&n);for(i=1;i<=n;i++)s=s*i;printf("%d!=%d\n",n,s);}5.输入一串正整数,倒序输出#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列数字:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列数字倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}6.求100~100000之间所有数字之和为5的整数的个数#includeintmain(){longinti,a1,a2,a3,a4,a5,j=0;for(i=100;i<100000;i++){a1=i/10000;a2=(i-a1*10000)/1000;a3=(i-a1*10000-a2*1000)/100;a4=(i-a1*10000-a2*1000-a3*100)/10;a5=i-a1*10000-a2*1000-a3*100-a4*10;if(a1+a2+a3+a4+a5==5){printf("%ld",i);j=j+1;}}printf("整数100至100000之间所有数字之和为5的整数的总个数为:\"%ld\"\n",j);return0;}7.输入字符串,打印除小写元音字母之外的。#include#defineM100intmain(){inti,n;chara[M];printf("请输入一列字符串:");for(i=1;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串中去除小写元音字母后输出为:");for(n=1;n<=i;n++){if((a[n]!=97)&(a[n]!=101)&(a[n]!=105)&(a[n]!=111)&(a[n]!=117))printf("%c",a[n]);}return0;}8.从键盘输入10个整数,计算其中偶数的和以及偶数平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2==0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中偶数和为:%1.0f\n这10个数中偶数的平均值为:%5.5f\n",j,s);return0;}9.从键盘输入10个整数,计算其中奇数之和以及奇数的平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2!=0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中奇数和为:%1.0f\n这10个数中奇数的平均值为:%5.2f\n",j,s);return0;}10.循环语句求S=a+aa+…+aaa…a的值,其中a是一个数字n由键盘输入#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}11.求1!+2!+3!+…+n!(当n=10时得4037913)#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}12.输出满足以下条件的最大的n:12+22+32+…+n2<=1000#includemain(){inti,s;for(i=1,s=0;s<=1000;i++){s=s+i*i;if(s>1000)break;}printf("%d\n",i-1);}13.0~1000同时被7和13整除的数#includemain(){inti;printf("0~1000中同时能被7和13整除的数为:\n");for(i=0;i<=1000;i++){if((i%7==0)&&(i%13==0))printf("%5d",i);}getch();}14.1/1,1/3,1/5,1/7,1/9,1/11……的前20项之和,并输出。#includemain(){floats,i,t;for(i=0,s=0,t=1;i<20;i++){s=s+1/t;t=t+2;}printf("%f\n",s);}15.求s=1-1/3+1/5-1/7+…,直到最后一项的绝对值小于0.00001为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if(1/(4*i+1)<0.00001)break;s1=s1+1/(4*i+1);if(1/(4*i+3)<0.00001)break;s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",s);}16.用公式e≈1+1/1!+1/2!+1/3!+…+1/n!,求e的近似值,直到1/n!<10-6为止。#include#includevoidmain(){doublejiecheng(doublea);doublei,t=1;for(i=1;;i++){if(1/jiecheng(i)<0.000001)break;t=t+1/jiecheng(i);}printf("%f\n",t);}doublejiecheng(doublea){inti;doublet=1;for(i=0;it=t*(a-i);return(t);}17.用π/4=1-1/3+1/5-1/7+……公式请求π的近似值,直到某一项的绝对值小于10-6为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if((1/(4*i+1))<0.000001||(1/(4*i+3))<0.000001)break;s1=s1+1/(4*i+1);s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",4*s);}18.输出1~10的阶乘值#includedoublefac(doublex){doubles,k;for(s=1,k=1;s<=x;s++)k=k*s;returnk;}main(){doublei;for(i=1;i<=10;i++)printf("%1.0f!=%1.0f\n",i,fac(i));}19.输入正数,判断是否是素数#includeintprime(intx){intflag=1,i;for(i=2;i{if(x%i==0)flag=0;}returnflag;}main(){intw;scanf("%d",&w);if(prime(w))printf("%disaprime\n",w);elseprintf("%disnotaprime\n",w);}20.求1+(1+2)+(1+2+3)+…+(1+2+…+n)#includeintsum(intx){inti,j=0;for(i=1;i<=x;i++)j=j+i;return(j);}main(){intn,p,s=0;printf("inputn:");scanf("%d",&n);for(p=1;p<=n;p++)s=s+sum(p);printf("%d",s);getch();}21.输入年月,输出该月有多少天。#includemain(){inta[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};inty,m,i;printf("Pleaseinputtheyear:");scanf("%d",&y);printf("Pleaseinputthemonth:");scanf("%d",&m);i=((y%4==0)&&(y%100!=0)||(y%400==0));printf("thismonthhas%ddays",a[i][m]);}22.编一个计算器,可以计算“+”“-”“*”“/”#includemain(){inta1,a2;charop;printf("sign:\n");scanf("%c",&op);printf("no.1:\n");scanf("%d",&a1);printf("no.2:\n");scanf("%d",&a2);switch(op){case'+':printf("%d+%d=%d\n",a1,a2,a1+a2);break;case'-':printf("%d-%d=%d\n",a1,a2,a1-a2);break;case'*':printf("%d*%d=%d\n",a1,a2,a1*a2);break;case'/':printf("%d/%d=%d\n",a1,a2,a1/a2);break;default:printf("wrong");}getch();}23.求555555的约数中最大的3位数:777#includemain(){inta[1000],n=555555,i,j,k=0,w,t;printf("555555的约数如下:\n");for(i=100;i<1000;i++){j=n%i;if(j==0){a[k]=i;printf("%5d",a[k]);k=k+1;}}t=a[0];printf("\n则其中最大的约数为:\n");for(w=1;w{{if(a[w]>t)t=a[w];}}printf("%d\n",t);}24.韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)){printf("%d\n",s);i=0;/*此处i=0*/}}}25.爱因斯坦阶梯问题(119)#includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)){printf("%d\n",s);i=0;/*此处i=0*/}}}26.输入m,n求其最小公倍数#includeintnum(intu,intv){intr;while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j,t;printf("请输入两个数:");scanf("%d%d",&i,&j);if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
scanf("%d",&a[i]);
max=min=a[0];
for(i=0;i{if(a[i]>max)max=a[i];}for(i=0;i{if(a[i]min=a[i];}printf("这%d个数中最大的数为:%d\n",n,max);printf("这%d个数中最小的数为:%d\n",n,min);return0;}2.求一个3位数abc使得a的阶乘+b的阶乘+c的阶乘=abc#includeintfac(intx){intm,n=1;for(m=1;m<=x;m++)n=n*m;return(n);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(fac(g)+fac(s)+fac(b)==i)printf("%d!+%d!+%d!=%d\n",b,s,g,i);}}3.题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。#includeintmain(){intn;floatt=0,s=2,k=1,m;for(n=1;n<=20;n++){t=t+s/k;m=s;s=s+k;k=m;}printf("%f\n",t);return0;}4.输入整数N,求N的阶乘#includeintmain(){intn,i,s=1;printf("请输入您要计算的数n:");scanf("%d",&n);for(i=1;i<=n;i++)s=s*i;printf("%d!=%d\n",n,s);}5.输入一串正整数,倒序输出#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列数字:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列数字倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}6.求100~100000之间所有数字之和为5的整数的个数#includeintmain(){longinti,a1,a2,a3,a4,a5,j=0;for(i=100;i<100000;i++){a1=i/10000;a2=(i-a1*10000)/1000;a3=(i-a1*10000-a2*1000)/100;a4=(i-a1*10000-a2*1000-a3*100)/10;a5=i-a1*10000-a2*1000-a3*100-a4*10;if(a1+a2+a3+a4+a5==5){printf("%ld",i);j=j+1;}}printf("整数100至100000之间所有数字之和为5的整数的总个数为:\"%ld\"\n",j);return0;}7.输入字符串,打印除小写元音字母之外的。#include#defineM100intmain(){inti,n;chara[M];printf("请输入一列字符串:");for(i=1;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串中去除小写元音字母后输出为:");for(n=1;n<=i;n++){if((a[n]!=97)&(a[n]!=101)&(a[n]!=105)&(a[n]!=111)&(a[n]!=117))printf("%c",a[n]);}return0;}8.从键盘输入10个整数,计算其中偶数的和以及偶数平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2==0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中偶数和为:%1.0f\n这10个数中偶数的平均值为:%5.5f\n",j,s);return0;}9.从键盘输入10个整数,计算其中奇数之和以及奇数的平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2!=0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中奇数和为:%1.0f\n这10个数中奇数的平均值为:%5.2f\n",j,s);return0;}10.循环语句求S=a+aa+…+aaa…a的值,其中a是一个数字n由键盘输入#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}11.求1!+2!+3!+…+n!(当n=10时得4037913)#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}12.输出满足以下条件的最大的n:12+22+32+…+n2<=1000#includemain(){inti,s;for(i=1,s=0;s<=1000;i++){s=s+i*i;if(s>1000)break;}printf("%d\n",i-1);}13.0~1000同时被7和13整除的数#includemain(){inti;printf("0~1000中同时能被7和13整除的数为:\n");for(i=0;i<=1000;i++){if((i%7==0)&&(i%13==0))printf("%5d",i);}getch();}14.1/1,1/3,1/5,1/7,1/9,1/11……的前20项之和,并输出。#includemain(){floats,i,t;for(i=0,s=0,t=1;i<20;i++){s=s+1/t;t=t+2;}printf("%f\n",s);}15.求s=1-1/3+1/5-1/7+…,直到最后一项的绝对值小于0.00001为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if(1/(4*i+1)<0.00001)break;s1=s1+1/(4*i+1);if(1/(4*i+3)<0.00001)break;s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",s);}16.用公式e≈1+1/1!+1/2!+1/3!+…+1/n!,求e的近似值,直到1/n!<10-6为止。#include#includevoidmain(){doublejiecheng(doublea);doublei,t=1;for(i=1;;i++){if(1/jiecheng(i)<0.000001)break;t=t+1/jiecheng(i);}printf("%f\n",t);}doublejiecheng(doublea){inti;doublet=1;for(i=0;it=t*(a-i);return(t);}17.用π/4=1-1/3+1/5-1/7+……公式请求π的近似值,直到某一项的绝对值小于10-6为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if((1/(4*i+1))<0.000001||(1/(4*i+3))<0.000001)break;s1=s1+1/(4*i+1);s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",4*s);}18.输出1~10的阶乘值#includedoublefac(doublex){doubles,k;for(s=1,k=1;s<=x;s++)k=k*s;returnk;}main(){doublei;for(i=1;i<=10;i++)printf("%1.0f!=%1.0f\n",i,fac(i));}19.输入正数,判断是否是素数#includeintprime(intx){intflag=1,i;for(i=2;i{if(x%i==0)flag=0;}returnflag;}main(){intw;scanf("%d",&w);if(prime(w))printf("%disaprime\n",w);elseprintf("%disnotaprime\n",w);}20.求1+(1+2)+(1+2+3)+…+(1+2+…+n)#includeintsum(intx){inti,j=0;for(i=1;i<=x;i++)j=j+i;return(j);}main(){intn,p,s=0;printf("inputn:");scanf("%d",&n);for(p=1;p<=n;p++)s=s+sum(p);printf("%d",s);getch();}21.输入年月,输出该月有多少天。#includemain(){inta[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};inty,m,i;printf("Pleaseinputtheyear:");scanf("%d",&y);printf("Pleaseinputthemonth:");scanf("%d",&m);i=((y%4==0)&&(y%100!=0)||(y%400==0));printf("thismonthhas%ddays",a[i][m]);}22.编一个计算器,可以计算“+”“-”“*”“/”#includemain(){inta1,a2;charop;printf("sign:\n");scanf("%c",&op);printf("no.1:\n");scanf("%d",&a1);printf("no.2:\n");scanf("%d",&a2);switch(op){case'+':printf("%d+%d=%d\n",a1,a2,a1+a2);break;case'-':printf("%d-%d=%d\n",a1,a2,a1-a2);break;case'*':printf("%d*%d=%d\n",a1,a2,a1*a2);break;case'/':printf("%d/%d=%d\n",a1,a2,a1/a2);break;default:printf("wrong");}getch();}23.求555555的约数中最大的3位数:777#includemain(){inta[1000],n=555555,i,j,k=0,w,t;printf("555555的约数如下:\n");for(i=100;i<1000;i++){j=n%i;if(j==0){a[k]=i;printf("%5d",a[k]);k=k+1;}}t=a[0];printf("\n则其中最大的约数为:\n");for(w=1;w{{if(a[w]>t)t=a[w];}}printf("%d\n",t);}24.韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)){printf("%d\n",s);i=0;/*此处i=0*/}}}25.爱因斯坦阶梯问题(119)#includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)){printf("%d\n",s);i=0;/*此处i=0*/}}}26.输入m,n求其最小公倍数#includeintnum(intu,intv){intr;while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j,t;printf("请输入两个数:");scanf("%d%d",&i,&j);if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
{if(a[i]>max)
max=a[i];}
for(i=0;i{if(a[i]min=a[i];}printf("这%d个数中最大的数为:%d\n",n,max);printf("这%d个数中最小的数为:%d\n",n,min);return0;}2.求一个3位数abc使得a的阶乘+b的阶乘+c的阶乘=abc#includeintfac(intx){intm,n=1;for(m=1;m<=x;m++)n=n*m;return(n);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(fac(g)+fac(s)+fac(b)==i)printf("%d!+%d!+%d!=%d\n",b,s,g,i);}}3.题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。#includeintmain(){intn;floatt=0,s=2,k=1,m;for(n=1;n<=20;n++){t=t+s/k;m=s;s=s+k;k=m;}printf("%f\n",t);return0;}4.输入整数N,求N的阶乘#includeintmain(){intn,i,s=1;printf("请输入您要计算的数n:");scanf("%d",&n);for(i=1;i<=n;i++)s=s*i;printf("%d!=%d\n",n,s);}5.输入一串正整数,倒序输出#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列数字:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列数字倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}6.求100~100000之间所有数字之和为5的整数的个数#includeintmain(){longinti,a1,a2,a3,a4,a5,j=0;for(i=100;i<100000;i++){a1=i/10000;a2=(i-a1*10000)/1000;a3=(i-a1*10000-a2*1000)/100;a4=(i-a1*10000-a2*1000-a3*100)/10;a5=i-a1*10000-a2*1000-a3*100-a4*10;if(a1+a2+a3+a4+a5==5){printf("%ld",i);j=j+1;}}printf("整数100至100000之间所有数字之和为5的整数的总个数为:\"%ld\"\n",j);return0;}7.输入字符串,打印除小写元音字母之外的。#include#defineM100intmain(){inti,n;chara[M];printf("请输入一列字符串:");for(i=1;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串中去除小写元音字母后输出为:");for(n=1;n<=i;n++){if((a[n]!=97)&(a[n]!=101)&(a[n]!=105)&(a[n]!=111)&(a[n]!=117))printf("%c",a[n]);}return0;}8.从键盘输入10个整数,计算其中偶数的和以及偶数平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2==0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中偶数和为:%1.0f\n这10个数中偶数的平均值为:%5.5f\n",j,s);return0;}9.从键盘输入10个整数,计算其中奇数之和以及奇数的平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2!=0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中奇数和为:%1.0f\n这10个数中奇数的平均值为:%5.2f\n",j,s);return0;}10.循环语句求S=a+aa+…+aaa…a的值,其中a是一个数字n由键盘输入#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}11.求1!+2!+3!+…+n!(当n=10时得4037913)#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}12.输出满足以下条件的最大的n:12+22+32+…+n2<=1000#includemain(){inti,s;for(i=1,s=0;s<=1000;i++){s=s+i*i;if(s>1000)break;}printf("%d\n",i-1);}13.0~1000同时被7和13整除的数#includemain(){inti;printf("0~1000中同时能被7和13整除的数为:\n");for(i=0;i<=1000;i++){if((i%7==0)&&(i%13==0))printf("%5d",i);}getch();}14.1/1,1/3,1/5,1/7,1/9,1/11……的前20项之和,并输出。#includemain(){floats,i,t;for(i=0,s=0,t=1;i<20;i++){s=s+1/t;t=t+2;}printf("%f\n",s);}15.求s=1-1/3+1/5-1/7+…,直到最后一项的绝对值小于0.00001为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if(1/(4*i+1)<0.00001)break;s1=s1+1/(4*i+1);if(1/(4*i+3)<0.00001)break;s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",s);}16.用公式e≈1+1/1!+1/2!+1/3!+…+1/n!,求e的近似值,直到1/n!<10-6为止。#include#includevoidmain(){doublejiecheng(doublea);doublei,t=1;for(i=1;;i++){if(1/jiecheng(i)<0.000001)break;t=t+1/jiecheng(i);}printf("%f\n",t);}doublejiecheng(doublea){inti;doublet=1;for(i=0;it=t*(a-i);return(t);}17.用π/4=1-1/3+1/5-1/7+……公式请求π的近似值,直到某一项的绝对值小于10-6为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if((1/(4*i+1))<0.000001||(1/(4*i+3))<0.000001)break;s1=s1+1/(4*i+1);s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",4*s);}18.输出1~10的阶乘值#includedoublefac(doublex){doubles,k;for(s=1,k=1;s<=x;s++)k=k*s;returnk;}main(){doublei;for(i=1;i<=10;i++)printf("%1.0f!=%1.0f\n",i,fac(i));}19.输入正数,判断是否是素数#includeintprime(intx){intflag=1,i;for(i=2;i{if(x%i==0)flag=0;}returnflag;}main(){intw;scanf("%d",&w);if(prime(w))printf("%disaprime\n",w);elseprintf("%disnotaprime\n",w);}20.求1+(1+2)+(1+2+3)+…+(1+2+…+n)#includeintsum(intx){inti,j=0;for(i=1;i<=x;i++)j=j+i;return(j);}main(){intn,p,s=0;printf("inputn:");scanf("%d",&n);for(p=1;p<=n;p++)s=s+sum(p);printf("%d",s);getch();}21.输入年月,输出该月有多少天。#includemain(){inta[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};inty,m,i;printf("Pleaseinputtheyear:");scanf("%d",&y);printf("Pleaseinputthemonth:");scanf("%d",&m);i=((y%4==0)&&(y%100!=0)||(y%400==0));printf("thismonthhas%ddays",a[i][m]);}22.编一个计算器,可以计算“+”“-”“*”“/”#includemain(){inta1,a2;charop;printf("sign:\n");scanf("%c",&op);printf("no.1:\n");scanf("%d",&a1);printf("no.2:\n");scanf("%d",&a2);switch(op){case'+':printf("%d+%d=%d\n",a1,a2,a1+a2);break;case'-':printf("%d-%d=%d\n",a1,a2,a1-a2);break;case'*':printf("%d*%d=%d\n",a1,a2,a1*a2);break;case'/':printf("%d/%d=%d\n",a1,a2,a1/a2);break;default:printf("wrong");}getch();}23.求555555的约数中最大的3位数:777#includemain(){inta[1000],n=555555,i,j,k=0,w,t;printf("555555的约数如下:\n");for(i=100;i<1000;i++){j=n%i;if(j==0){a[k]=i;printf("%5d",a[k]);k=k+1;}}t=a[0];printf("\n则其中最大的约数为:\n");for(w=1;w{{if(a[w]>t)t=a[w];}}printf("%d\n",t);}24.韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)){printf("%d\n",s);i=0;/*此处i=0*/}}}25.爱因斯坦阶梯问题(119)#includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)){printf("%d\n",s);i=0;/*此处i=0*/}}}26.输入m,n求其最小公倍数#includeintnum(intu,intv){intr;while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j,t;printf("请输入两个数:");scanf("%d%d",&i,&j);if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
{if(a[i]min=a[i];}printf("这%d个数中最大的数为:%d\n",n,max);printf("这%d个数中最小的数为:%d\n",n,min);return0;}2.求一个3位数abc使得a的阶乘+b的阶乘+c的阶乘=abc#includeintfac(intx){intm,n=1;for(m=1;m<=x;m++)n=n*m;return(n);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(fac(g)+fac(s)+fac(b)==i)printf("%d!+%d!+%d!=%d\n",b,s,g,i);}}3.题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。#includeintmain(){intn;floatt=0,s=2,k=1,m;for(n=1;n<=20;n++){t=t+s/k;m=s;s=s+k;k=m;}printf("%f\n",t);return0;}4.输入整数N,求N的阶乘#includeintmain(){intn,i,s=1;printf("请输入您要计算的数n:");scanf("%d",&n);for(i=1;i<=n;i++)s=s*i;printf("%d!=%d\n",n,s);}5.输入一串正整数,倒序输出#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列数字:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列数字倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}6.求100~100000之间所有数字之和为5的整数的个数#includeintmain(){longinti,a1,a2,a3,a4,a5,j=0;for(i=100;i<100000;i++){a1=i/10000;a2=(i-a1*10000)/1000;a3=(i-a1*10000-a2*1000)/100;a4=(i-a1*10000-a2*1000-a3*100)/10;a5=i-a1*10000-a2*1000-a3*100-a4*10;if(a1+a2+a3+a4+a5==5){printf("%ld",i);j=j+1;}}printf("整数100至100000之间所有数字之和为5的整数的总个数为:\"%ld\"\n",j);return0;}7.输入字符串,打印除小写元音字母之外的。#include#defineM100intmain(){inti,n;chara[M];printf("请输入一列字符串:");for(i=1;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串中去除小写元音字母后输出为:");for(n=1;n<=i;n++){if((a[n]!=97)&(a[n]!=101)&(a[n]!=105)&(a[n]!=111)&(a[n]!=117))printf("%c",a[n]);}return0;}8.从键盘输入10个整数,计算其中偶数的和以及偶数平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2==0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中偶数和为:%1.0f\n这10个数中偶数的平均值为:%5.5f\n",j,s);return0;}9.从键盘输入10个整数,计算其中奇数之和以及奇数的平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2!=0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中奇数和为:%1.0f\n这10个数中奇数的平均值为:%5.2f\n",j,s);return0;}10.循环语句求S=a+aa+…+aaa…a的值,其中a是一个数字n由键盘输入#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}11.求1!+2!+3!+…+n!(当n=10时得4037913)#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}12.输出满足以下条件的最大的n:12+22+32+…+n2<=1000#includemain(){inti,s;for(i=1,s=0;s<=1000;i++){s=s+i*i;if(s>1000)break;}printf("%d\n",i-1);}13.0~1000同时被7和13整除的数#includemain(){inti;printf("0~1000中同时能被7和13整除的数为:\n");for(i=0;i<=1000;i++){if((i%7==0)&&(i%13==0))printf("%5d",i);}getch();}14.1/1,1/3,1/5,1/7,1/9,1/11……的前20项之和,并输出。#includemain(){floats,i,t;for(i=0,s=0,t=1;i<20;i++){s=s+1/t;t=t+2;}printf("%f\n",s);}15.求s=1-1/3+1/5-1/7+…,直到最后一项的绝对值小于0.00001为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if(1/(4*i+1)<0.00001)break;s1=s1+1/(4*i+1);if(1/(4*i+3)<0.00001)break;s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",s);}16.用公式e≈1+1/1!+1/2!+1/3!+…+1/n!,求e的近似值,直到1/n!<10-6为止。#include#includevoidmain(){doublejiecheng(doublea);doublei,t=1;for(i=1;;i++){if(1/jiecheng(i)<0.000001)break;t=t+1/jiecheng(i);}printf("%f\n",t);}doublejiecheng(doublea){inti;doublet=1;for(i=0;it=t*(a-i);return(t);}17.用π/4=1-1/3+1/5-1/7+……公式请求π的近似值,直到某一项的绝对值小于10-6为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if((1/(4*i+1))<0.000001||(1/(4*i+3))<0.000001)break;s1=s1+1/(4*i+1);s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",4*s);}18.输出1~10的阶乘值#includedoublefac(doublex){doubles,k;for(s=1,k=1;s<=x;s++)k=k*s;returnk;}main(){doublei;for(i=1;i<=10;i++)printf("%1.0f!=%1.0f\n",i,fac(i));}19.输入正数,判断是否是素数#includeintprime(intx){intflag=1,i;for(i=2;i{if(x%i==0)flag=0;}returnflag;}main(){intw;scanf("%d",&w);if(prime(w))printf("%disaprime\n",w);elseprintf("%disnotaprime\n",w);}20.求1+(1+2)+(1+2+3)+…+(1+2+…+n)#includeintsum(intx){inti,j=0;for(i=1;i<=x;i++)j=j+i;return(j);}main(){intn,p,s=0;printf("inputn:");scanf("%d",&n);for(p=1;p<=n;p++)s=s+sum(p);printf("%d",s);getch();}21.输入年月,输出该月有多少天。#includemain(){inta[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};inty,m,i;printf("Pleaseinputtheyear:");scanf("%d",&y);printf("Pleaseinputthemonth:");scanf("%d",&m);i=((y%4==0)&&(y%100!=0)||(y%400==0));printf("thismonthhas%ddays",a[i][m]);}22.编一个计算器,可以计算“+”“-”“*”“/”#includemain(){inta1,a2;charop;printf("sign:\n");scanf("%c",&op);printf("no.1:\n");scanf("%d",&a1);printf("no.2:\n");scanf("%d",&a2);switch(op){case'+':printf("%d+%d=%d\n",a1,a2,a1+a2);break;case'-':printf("%d-%d=%d\n",a1,a2,a1-a2);break;case'*':printf("%d*%d=%d\n",a1,a2,a1*a2);break;case'/':printf("%d/%d=%d\n",a1,a2,a1/a2);break;default:printf("wrong");}getch();}23.求555555的约数中最大的3位数:777#includemain(){inta[1000],n=555555,i,j,k=0,w,t;printf("555555的约数如下:\n");for(i=100;i<1000;i++){j=n%i;if(j==0){a[k]=i;printf("%5d",a[k]);k=k+1;}}t=a[0];printf("\n则其中最大的约数为:\n");for(w=1;w{{if(a[w]>t)t=a[w];}}printf("%d\n",t);}24.韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)){printf("%d\n",s);i=0;/*此处i=0*/}}}25.爱因斯坦阶梯问题(119)#includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)){printf("%d\n",s);i=0;/*此处i=0*/}}}26.输入m,n求其最小公倍数#includeintnum(intu,intv){intr;while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j,t;printf("请输入两个数:");scanf("%d%d",&i,&j);if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
min=a[i];}
printf("这%d个数中最大的数为:
%d\n",n,max);
printf("这%d个数中最小的数为:
%d\n",n,min);
return0;
}
2.求一个3位数abc使得a的阶乘+b的阶乘+c的阶乘=abc
intfac(intx)
{intm,n=1;
for(m=1;m<=x;m++)
n=n*m;
return(n);
main()
{inti,g,s,b;
for(i=100;i<1000;i++)
{b=i/100;
s=(i-b*100)/10;
g=i%10;
if(fac(g)+fac(s)+fac(b)==i)
printf("%d!
+%d!
=%d\n",b,s,g,i);
3.题目:
有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
{intn;
floatt=0,s=2,k=1,m;
for(n=1;n<=20;n++)
{t=t+s/k;
m=s;s=s+k;k=m;}
printf("%f\n",t);
4.输入整数N,求N的阶乘
{intn,i,s=1;
printf("请输入您要计算的数n:
");
for(i=1;i<=n;i++)
s=s*i;
=%d\n",n,s);
5.输入一串正整数,倒序输出
#defineM100
{inti,j;
chara[M];
printf("请输入一列数字:
\n");
for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列数字倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}6.求100~100000之间所有数字之和为5的整数的个数#includeintmain(){longinti,a1,a2,a3,a4,a5,j=0;for(i=100;i<100000;i++){a1=i/10000;a2=(i-a1*10000)/1000;a3=(i-a1*10000-a2*1000)/100;a4=(i-a1*10000-a2*1000-a3*100)/10;a5=i-a1*10000-a2*1000-a3*100-a4*10;if(a1+a2+a3+a4+a5==5){printf("%ld",i);j=j+1;}}printf("整数100至100000之间所有数字之和为5的整数的总个数为:\"%ld\"\n",j);return0;}7.输入字符串,打印除小写元音字母之外的。#include#defineM100intmain(){inti,n;chara[M];printf("请输入一列字符串:");for(i=1;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串中去除小写元音字母后输出为:");for(n=1;n<=i;n++){if((a[n]!=97)&(a[n]!=101)&(a[n]!=105)&(a[n]!=111)&(a[n]!=117))printf("%c",a[n]);}return0;}8.从键盘输入10个整数,计算其中偶数的和以及偶数平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2==0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中偶数和为:%1.0f\n这10个数中偶数的平均值为:%5.5f\n",j,s);return0;}9.从键盘输入10个整数,计算其中奇数之和以及奇数的平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2!=0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中奇数和为:%1.0f\n这10个数中奇数的平均值为:%5.2f\n",j,s);return0;}10.循环语句求S=a+aa+…+aaa…a的值,其中a是一个数字n由键盘输入#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}11.求1!+2!+3!+…+n!(当n=10时得4037913)#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}12.输出满足以下条件的最大的n:12+22+32+…+n2<=1000#includemain(){inti,s;for(i=1,s=0;s<=1000;i++){s=s+i*i;if(s>1000)break;}printf("%d\n",i-1);}13.0~1000同时被7和13整除的数#includemain(){inti;printf("0~1000中同时能被7和13整除的数为:\n");for(i=0;i<=1000;i++){if((i%7==0)&&(i%13==0))printf("%5d",i);}getch();}14.1/1,1/3,1/5,1/7,1/9,1/11……的前20项之和,并输出。#includemain(){floats,i,t;for(i=0,s=0,t=1;i<20;i++){s=s+1/t;t=t+2;}printf("%f\n",s);}15.求s=1-1/3+1/5-1/7+…,直到最后一项的绝对值小于0.00001为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if(1/(4*i+1)<0.00001)break;s1=s1+1/(4*i+1);if(1/(4*i+3)<0.00001)break;s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",s);}16.用公式e≈1+1/1!+1/2!+1/3!+…+1/n!,求e的近似值,直到1/n!<10-6为止。#include#includevoidmain(){doublejiecheng(doublea);doublei,t=1;for(i=1;;i++){if(1/jiecheng(i)<0.000001)break;t=t+1/jiecheng(i);}printf("%f\n",t);}doublejiecheng(doublea){inti;doublet=1;for(i=0;it=t*(a-i);return(t);}17.用π/4=1-1/3+1/5-1/7+……公式请求π的近似值,直到某一项的绝对值小于10-6为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if((1/(4*i+1))<0.000001||(1/(4*i+3))<0.000001)break;s1=s1+1/(4*i+1);s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",4*s);}18.输出1~10的阶乘值#includedoublefac(doublex){doubles,k;for(s=1,k=1;s<=x;s++)k=k*s;returnk;}main(){doublei;for(i=1;i<=10;i++)printf("%1.0f!=%1.0f\n",i,fac(i));}19.输入正数,判断是否是素数#includeintprime(intx){intflag=1,i;for(i=2;i{if(x%i==0)flag=0;}returnflag;}main(){intw;scanf("%d",&w);if(prime(w))printf("%disaprime\n",w);elseprintf("%disnotaprime\n",w);}20.求1+(1+2)+(1+2+3)+…+(1+2+…+n)#includeintsum(intx){inti,j=0;for(i=1;i<=x;i++)j=j+i;return(j);}main(){intn,p,s=0;printf("inputn:");scanf("%d",&n);for(p=1;p<=n;p++)s=s+sum(p);printf("%d",s);getch();}21.输入年月,输出该月有多少天。#includemain(){inta[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};inty,m,i;printf("Pleaseinputtheyear:");scanf("%d",&y);printf("Pleaseinputthemonth:");scanf("%d",&m);i=((y%4==0)&&(y%100!=0)||(y%400==0));printf("thismonthhas%ddays",a[i][m]);}22.编一个计算器,可以计算“+”“-”“*”“/”#includemain(){inta1,a2;charop;printf("sign:\n");scanf("%c",&op);printf("no.1:\n");scanf("%d",&a1);printf("no.2:\n");scanf("%d",&a2);switch(op){case'+':printf("%d+%d=%d\n",a1,a2,a1+a2);break;case'-':printf("%d-%d=%d\n",a1,a2,a1-a2);break;case'*':printf("%d*%d=%d\n",a1,a2,a1*a2);break;case'/':printf("%d/%d=%d\n",a1,a2,a1/a2);break;default:printf("wrong");}getch();}23.求555555的约数中最大的3位数:777#includemain(){inta[1000],n=555555,i,j,k=0,w,t;printf("555555的约数如下:\n");for(i=100;i<1000;i++){j=n%i;if(j==0){a[k]=i;printf("%5d",a[k]);k=k+1;}}t=a[0];printf("\n则其中最大的约数为:\n");for(w=1;w{{if(a[w]>t)t=a[w];}}printf("%d\n",t);}24.韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)){printf("%d\n",s);i=0;/*此处i=0*/}}}25.爱因斯坦阶梯问题(119)#includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)){printf("%d\n",s);i=0;/*此处i=0*/}}}26.输入m,n求其最小公倍数#includeintnum(intu,intv){intr;while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j,t;printf("请输入两个数:");scanf("%d%d",&i,&j);if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
{scanf("%c",&a[i]);
if(a[i]=='\n')
break;
printf("则该列数字倒序输出为:
for(j=i;j>=0;j--)
printf("%c",a[j]);
printf("\n");
6.求100~100000之间所有数字之和为5的整数的个数
{longinti,a1,a2,a3,a4,a5,j=0;
for(i=100;i<100000;i++)
{a1=i/10000;
a2=(i-a1*10000)/1000;
a3=(i-a1*10000-a2*1000)/100;
a4=(i-a1*10000-a2*1000-a3*100)/10;
a5=i-a1*10000-a2*1000-a3*100-a4*10;
if(a1+a2+a3+a4+a5==5)
{printf("%ld",i);
j=j+1;}}
printf("整数100至100000之间所有数字之和为5的整数的总个数为:
\"%ld\"\n",j);
7.输入字符串,打印除小写元音字母之外的。
{inti,n;
printf("请输入一列字符串:
for(i=1;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串中去除小写元音字母后输出为:");for(n=1;n<=i;n++){if((a[n]!=97)&(a[n]!=101)&(a[n]!=105)&(a[n]!=111)&(a[n]!=117))printf("%c",a[n]);}return0;}8.从键盘输入10个整数,计算其中偶数的和以及偶数平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2==0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中偶数和为:%1.0f\n这10个数中偶数的平均值为:%5.5f\n",j,s);return0;}9.从键盘输入10个整数,计算其中奇数之和以及奇数的平均数,(用小数表示)#includeintmain(){inti,a[10];floats,j=0,k=0;printf("请输入10个数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]%2!=0){j=j+a[i];k=k+1;}}s=j/k;printf("这10个数中奇数和为:%1.0f\n这10个数中奇数的平均值为:%5.2f\n",j,s);return0;}10.循环语句求S=a+aa+…+aaa…a的值,其中a是一个数字n由键盘输入#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}11.求1!+2!+3!+…+n!(当n=10时得4037913)#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}12.输出满足以下条件的最大的n:12+22+32+…+n2<=1000#includemain(){inti,s;for(i=1,s=0;s<=1000;i++){s=s+i*i;if(s>1000)break;}printf("%d\n",i-1);}13.0~1000同时被7和13整除的数#includemain(){inti;printf("0~1000中同时能被7和13整除的数为:\n");for(i=0;i<=1000;i++){if((i%7==0)&&(i%13==0))printf("%5d",i);}getch();}14.1/1,1/3,1/5,1/7,1/9,1/11……的前20项之和,并输出。#includemain(){floats,i,t;for(i=0,s=0,t=1;i<20;i++){s=s+1/t;t=t+2;}printf("%f\n",s);}15.求s=1-1/3+1/5-1/7+…,直到最后一项的绝对值小于0.00001为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if(1/(4*i+1)<0.00001)break;s1=s1+1/(4*i+1);if(1/(4*i+3)<0.00001)break;s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",s);}16.用公式e≈1+1/1!+1/2!+1/3!+…+1/n!,求e的近似值,直到1/n!<10-6为止。#include#includevoidmain(){doublejiecheng(doublea);doublei,t=1;for(i=1;;i++){if(1/jiecheng(i)<0.000001)break;t=t+1/jiecheng(i);}printf("%f\n",t);}doublejiecheng(doublea){inti;doublet=1;for(i=0;it=t*(a-i);return(t);}17.用π/4=1-1/3+1/5-1/7+……公式请求π的近似值,直到某一项的绝对值小于10-6为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if((1/(4*i+1))<0.000001||(1/(4*i+3))<0.000001)break;s1=s1+1/(4*i+1);s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",4*s);}18.输出1~10的阶乘值#includedoublefac(doublex){doubles,k;for(s=1,k=1;s<=x;s++)k=k*s;returnk;}main(){doublei;for(i=1;i<=10;i++)printf("%1.0f!=%1.0f\n",i,fac(i));}19.输入正数,判断是否是素数#includeintprime(intx){intflag=1,i;for(i=2;i{if(x%i==0)flag=0;}returnflag;}main(){intw;scanf("%d",&w);if(prime(w))printf("%disaprime\n",w);elseprintf("%disnotaprime\n",w);}20.求1+(1+2)+(1+2+3)+…+(1+2+…+n)#includeintsum(intx){inti,j=0;for(i=1;i<=x;i++)j=j+i;return(j);}main(){intn,p,s=0;printf("inputn:");scanf("%d",&n);for(p=1;p<=n;p++)s=s+sum(p);printf("%d",s);getch();}21.输入年月,输出该月有多少天。#includemain(){inta[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};inty,m,i;printf("Pleaseinputtheyear:");scanf("%d",&y);printf("Pleaseinputthemonth:");scanf("%d",&m);i=((y%4==0)&&(y%100!=0)||(y%400==0));printf("thismonthhas%ddays",a[i][m]);}22.编一个计算器,可以计算“+”“-”“*”“/”#includemain(){inta1,a2;charop;printf("sign:\n");scanf("%c",&op);printf("no.1:\n");scanf("%d",&a1);printf("no.2:\n");scanf("%d",&a2);switch(op){case'+':printf("%d+%d=%d\n",a1,a2,a1+a2);break;case'-':printf("%d-%d=%d\n",a1,a2,a1-a2);break;case'*':printf("%d*%d=%d\n",a1,a2,a1*a2);break;case'/':printf("%d/%d=%d\n",a1,a2,a1/a2);break;default:printf("wrong");}getch();}23.求555555的约数中最大的3位数:777#includemain(){inta[1000],n=555555,i,j,k=0,w,t;printf("555555的约数如下:\n");for(i=100;i<1000;i++){j=n%i;if(j==0){a[k]=i;printf("%5d",a[k]);k=k+1;}}t=a[0];printf("\n则其中最大的约数为:\n");for(w=1;w{{if(a[w]>t)t=a[w];}}printf("%d\n",t);}24.韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)){printf("%d\n",s);i=0;/*此处i=0*/}}}25.爱因斯坦阶梯问题(119)#includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)){printf("%d\n",s);i=0;/*此处i=0*/}}}26.输入m,n求其最小公倍数#includeintnum(intu,intv){intr;while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j,t;printf("请输入两个数:");scanf("%d%d",&i,&j);if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
if(a[i]=='\n')break;}
printf("则该列字符串中去除小写元音字母后输出为:
for(n=1;n<=i;n++)
{if((a[n]!
=97)&(a[n]!
=101)&(a[n]!
=105)&(a[n]!
=111)&(a[n]!
=117))
printf("%c",a[n]);}
return0;}
8.从键盘输入10个整数,计算其中偶数的和以及偶数平均数,(用小数表示)
{inti,a[10];
floats,j=0,k=0;
printf("请输入10个数:
for(i=0;i<10;i++)
{if(a[i]%2==0)
{j=j+a[i];
k=k+1;}
s=j/k;
printf("这10个数中偶数和为:
%1.0f\n这10个数中偶数的平均值为:
%5.5f\n",j,s);
9.从键盘输入10个整数,计算其中奇数之和以及奇数的平均数,(用小数表示)
{if(a[i]%2!
=0)
printf("这10个数中奇数和为:
%1.0f\n这10个数中奇数的平均值为:
%5.2f\n",j,s);
10.循环语句求S=a+aa+…+aaa…a的值,其中a是一个数字n由键盘输入
{inta,n,i;
longints,t;
printf("请输入a(a<10):
scanf("%d",&a);
printf("请输入n:
t=s=a;
printf("%d",a);
for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}11.求1!+2!+3!+…+n!(当n=10时得4037913)#includemain(){inta,n,i;longints,t;printf("请输入a(a<10):");scanf("%d",&a);printf("请输入n:");scanf("%d",&n);t=s=a;printf("%d",a);for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}12.输出满足以下条件的最大的n:12+22+32+…+n2<=1000#includemain(){inti,s;for(i=1,s=0;s<=1000;i++){s=s+i*i;if(s>1000)break;}printf("%d\n",i-1);}13.0~1000同时被7和13整除的数#includemain(){inti;printf("0~1000中同时能被7和13整除的数为:\n");for(i=0;i<=1000;i++){if((i%7==0)&&(i%13==0))printf("%5d",i);}getch();}14.1/1,1/3,1/5,1/7,1/9,1/11……的前20项之和,并输出。#includemain(){floats,i,t;for(i=0,s=0,t=1;i<20;i++){s=s+1/t;t=t+2;}printf("%f\n",s);}15.求s=1-1/3+1/5-1/7+…,直到最后一项的绝对值小于0.00001为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if(1/(4*i+1)<0.00001)break;s1=s1+1/(4*i+1);if(1/(4*i+3)<0.00001)break;s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",s);}16.用公式e≈1+1/1!+1/2!+1/3!+…+1/n!,求e的近似值,直到1/n!<10-6为止。#include#includevoidmain(){doublejiecheng(doublea);doublei,t=1;for(i=1;;i++){if(1/jiecheng(i)<0.000001)break;t=t+1/jiecheng(i);}printf("%f\n",t);}doublejiecheng(doublea){inti;doublet=1;for(i=0;it=t*(a-i);return(t);}17.用π/4=1-1/3+1/5-1/7+……公式请求π的近似值,直到某一项的绝对值小于10-6为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if((1/(4*i+1))<0.000001||(1/(4*i+3))<0.000001)break;s1=s1+1/(4*i+1);s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",4*s);}18.输出1~10的阶乘值#includedoublefac(doublex){doubles,k;for(s=1,k=1;s<=x;s++)k=k*s;returnk;}main(){doublei;for(i=1;i<=10;i++)printf("%1.0f!=%1.0f\n",i,fac(i));}19.输入正数,判断是否是素数#includeintprime(intx){intflag=1,i;for(i=2;i{if(x%i==0)flag=0;}returnflag;}main(){intw;scanf("%d",&w);if(prime(w))printf("%disaprime\n",w);elseprintf("%disnotaprime\n",w);}20.求1+(1+2)+(1+2+3)+…+(1+2+…+n)#includeintsum(intx){inti,j=0;for(i=1;i<=x;i++)j=j+i;return(j);}main(){intn,p,s=0;printf("inputn:");scanf("%d",&n);for(p=1;p<=n;p++)s=s+sum(p);printf("%d",s);getch();}21.输入年月,输出该月有多少天。#includemain(){inta[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};inty,m,i;printf("Pleaseinputtheyear:");scanf("%d",&y);printf("Pleaseinputthemonth:");scanf("%d",&m);i=((y%4==0)&&(y%100!=0)||(y%400==0));printf("thismonthhas%ddays",a[i][m]);}22.编一个计算器,可以计算“+”“-”“*”“/”#includemain(){inta1,a2;charop;printf("sign:\n");scanf("%c",&op);printf("no.1:\n");scanf("%d",&a1);printf("no.2:\n");scanf("%d",&a2);switch(op){case'+':printf("%d+%d=%d\n",a1,a2,a1+a2);break;case'-':printf("%d-%d=%d\n",a1,a2,a1-a2);break;case'*':printf("%d*%d=%d\n",a1,a2,a1*a2);break;case'/':printf("%d/%d=%d\n",a1,a2,a1/a2);break;default:printf("wrong");}getch();}23.求555555的约数中最大的3位数:777#includemain(){inta[1000],n=555555,i,j,k=0,w,t;printf("555555的约数如下:\n");for(i=100;i<1000;i++){j=n%i;if(j==0){a[k]=i;printf("%5d",a[k]);k=k+1;}}t=a[0];printf("\n则其中最大的约数为:\n");for(w=1;w{{if(a[w]>t)t=a[w];}}printf("%d\n",t);}24.韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)){printf("%d\n",s);i=0;/*此处i=0*/}}}25.爱因斯坦阶梯问题(119)#includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)){printf("%d\n",s);i=0;/*此处i=0*/}}}26.输入m,n求其最小公倍数#includeintnum(intu,intv){intr;while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j,t;printf("请输入两个数:");scanf("%d%d",&i,&j);if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
{t=t*10+a;
printf("+%ld",t);
s=s+t;}
printf("=%ld\n",s);
11.求1!
+2!
+3!
+…+n!
(当n=10时得4037913)
for(i=1;i{t=t*10+a;printf("+%ld",t);s=s+t;}printf("=%ld\n",s);}12.输出满足以下条件的最大的n:12+22+32+…+n2<=1000#includemain(){inti,s;for(i=1,s=0;s<=1000;i++){s=s+i*i;if(s>1000)break;}printf("%d\n",i-1);}13.0~1000同时被7和13整除的数#includemain(){inti;printf("0~1000中同时能被7和13整除的数为:\n");for(i=0;i<=1000;i++){if((i%7==0)&&(i%13==0))printf("%5d",i);}getch();}14.1/1,1/3,1/5,1/7,1/9,1/11……的前20项之和,并输出。#includemain(){floats,i,t;for(i=0,s=0,t=1;i<20;i++){s=s+1/t;t=t+2;}printf("%f\n",s);}15.求s=1-1/3+1/5-1/7+…,直到最后一项的绝对值小于0.00001为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if(1/(4*i+1)<0.00001)break;s1=s1+1/(4*i+1);if(1/(4*i+3)<0.00001)break;s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",s);}16.用公式e≈1+1/1!+1/2!+1/3!+…+1/n!,求e的近似值,直到1/n!<10-6为止。#include#includevoidmain(){doublejiecheng(doublea);doublei,t=1;for(i=1;;i++){if(1/jiecheng(i)<0.000001)break;t=t+1/jiecheng(i);}printf("%f\n",t);}doublejiecheng(doublea){inti;doublet=1;for(i=0;it=t*(a-i);return(t);}17.用π/4=1-1/3+1/5-1/7+……公式请求π的近似值,直到某一项的绝对值小于10-6为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if((1/(4*i+1))<0.000001||(1/(4*i+3))<0.000001)break;s1=s1+1/(4*i+1);s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",4*s);}18.输出1~10的阶乘值#includedoublefac(doublex){doubles,k;for(s=1,k=1;s<=x;s++)k=k*s;returnk;}main(){doublei;for(i=1;i<=10;i++)printf("%1.0f!=%1.0f\n",i,fac(i));}19.输入正数,判断是否是素数#includeintprime(intx){intflag=1,i;for(i=2;i{if(x%i==0)flag=0;}returnflag;}main(){intw;scanf("%d",&w);if(prime(w))printf("%disaprime\n",w);elseprintf("%disnotaprime\n",w);}20.求1+(1+2)+(1+2+3)+…+(1+2+…+n)#includeintsum(intx){inti,j=0;for(i=1;i<=x;i++)j=j+i;return(j);}main(){intn,p,s=0;printf("inputn:");scanf("%d",&n);for(p=1;p<=n;p++)s=s+sum(p);printf("%d",s);getch();}21.输入年月,输出该月有多少天。#includemain(){inta[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};inty,m,i;printf("Pleaseinputtheyear:");scanf("%d",&y);printf("Pleaseinputthemonth:");scanf("%d",&m);i=((y%4==0)&&(y%100!=0)||(y%400==0));printf("thismonthhas%ddays",a[i][m]);}22.编一个计算器,可以计算“+”“-”“*”“/”#includemain(){inta1,a2;charop;printf("sign:\n");scanf("%c",&op);printf("no.1:\n");scanf("%d",&a1);printf("no.2:\n");scanf("%d",&a2);switch(op){case'+':printf("%d+%d=%d\n",a1,a2,a1+a2);break;case'-':printf("%d-%d=%d\n",a1,a2,a1-a2);break;case'*':printf("%d*%d=%d\n",a1,a2,a1*a2);break;case'/':printf("%d/%d=%d\n",a1,a2,a1/a2);break;default:printf("wrong");}getch();}23.求555555的约数中最大的3位数:777#includemain(){inta[1000],n=555555,i,j,k=0,w,t;printf("555555的约数如下:\n");for(i=100;i<1000;i++){j=n%i;if(j==0){a[k]=i;printf("%5d",a[k]);k=k+1;}}t=a[0];printf("\n则其中最大的约数为:\n");for(w=1;w{{if(a[w]>t)t=a[w];}}printf("%d\n",t);}24.韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)){printf("%d\n",s);i=0;/*此处i=0*/}}}25.爱因斯坦阶梯问题(119)#includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)){printf("%d\n",s);i=0;/*此处i=0*/}}}26.输入m,n求其最小公倍数#includeintnum(intu,intv){intr;while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j,t;printf("请输入两个数:");scanf("%d%d",&i,&j);if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
12.输出满足以下条件的最大的n:
12+22+32+…+n2<=1000
{inti,s;
for(i=1,s=0;s<=1000;i++)
{s=s+i*i;
if(s>1000)break;
printf("%d\n",i-1);}
13.0~1000同时被7和13整除的数
{inti;
printf("0~1000中同时能被7和13整除的数为:
for(i=0;i<=1000;i++)
{if((i%7==0)&&(i%13==0))
printf("%5d",i);}
getch();
14.1/1,1/3,1/5,1/7,1/9,1/11……的前20项之和,并输出。
{floats,i,t;
for(i=0,s=0,t=1;i<20;i++)
{s=s+1/t;
t=t+2;}
printf("%f\n",s);
15.求s=1-1/3+1/5-1/7+…,直到最后一项的绝对值小于0.00001为止。
voidmain()
{doubles1=0,s2=0,s,i;
for(i=0;i<10000;i++)
{if(1/(4*i+1)<0.00001)break;
s1=s1+1/(4*i+1);
if(1/(4*i+3)<0.00001)break;
s2=s2-1/(4*i+3);}
s=s1+s2;printf("%lf\n",s);}
16.用公式e≈1+1/1!
+1/2!
+1/3!
+…+1/n!
,求e的近似值,直到1/n!
<10-6为止。
{doublejiecheng(doublea);
doublei,t=1;
for(i=1;;i++)
{if(1/jiecheng(i)<0.000001)break;
t=t+1/jiecheng(i);}
doublejiecheng(doublea)
{
inti;
doublet=1;
for(i=0;it=t*(a-i);return(t);}17.用π/4=1-1/3+1/5-1/7+……公式请求π的近似值,直到某一项的绝对值小于10-6为止。#includevoidmain(){doubles1=0,s2=0,s,i;for(i=0;i<10000;i++){if((1/(4*i+1))<0.000001||(1/(4*i+3))<0.000001)break;s1=s1+1/(4*i+1);s2=s2-1/(4*i+3);}s=s1+s2;printf("%lf\n",4*s);}18.输出1~10的阶乘值#includedoublefac(doublex){doubles,k;for(s=1,k=1;s<=x;s++)k=k*s;returnk;}main(){doublei;for(i=1;i<=10;i++)printf("%1.0f!=%1.0f\n",i,fac(i));}19.输入正数,判断是否是素数#includeintprime(intx){intflag=1,i;for(i=2;i{if(x%i==0)flag=0;}returnflag;}main(){intw;scanf("%d",&w);if(prime(w))printf("%disaprime\n",w);elseprintf("%disnotaprime\n",w);}20.求1+(1+2)+(1+2+3)+…+(1+2+…+n)#includeintsum(intx){inti,j=0;for(i=1;i<=x;i++)j=j+i;return(j);}main(){intn,p,s=0;printf("inputn:");scanf("%d",&n);for(p=1;p<=n;p++)s=s+sum(p);printf("%d",s);getch();}21.输入年月,输出该月有多少天。#includemain(){inta[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};inty,m,i;printf("Pleaseinputtheyear:");scanf("%d",&y);printf("Pleaseinputthemonth:");scanf("%d",&m);i=((y%4==0)&&(y%100!=0)||(y%400==0));printf("thismonthhas%ddays",a[i][m]);}22.编一个计算器,可以计算“+”“-”“*”“/”#includemain(){inta1,a2;charop;printf("sign:\n");scanf("%c",&op);printf("no.1:\n");scanf("%d",&a1);printf("no.2:\n");scanf("%d",&a2);switch(op){case'+':printf("%d+%d=%d\n",a1,a2,a1+a2);break;case'-':printf("%d-%d=%d\n",a1,a2,a1-a2);break;case'*':printf("%d*%d=%d\n",a1,a2,a1*a2);break;case'/':printf("%d/%d=%d\n",a1,a2,a1/a2);break;default:printf("wrong");}getch();}23.求555555的约数中最大的3位数:777#includemain(){inta[1000],n=555555,i,j,k=0,w,t;printf("555555的约数如下:\n");for(i=100;i<1000;i++){j=n%i;if(j==0){a[k]=i;printf("%5d",a[k]);k=k+1;}}t=a[0];printf("\n则其中最大的约数为:\n");for(w=1;w{{if(a[w]>t)t=a[w];}}printf("%d\n",t);}24.韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)){printf("%d\n",s);i=0;/*此处i=0*/}}}25.爱因斯坦阶梯问题(119)#includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)){printf("%d\n",s);i=0;/*此处i=0*/}}}26.输入m,n求其最小公倍数#includeintnum(intu,intv){intr;while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j,t;printf("请输入两个数:");scanf("%d%d",&i,&j);if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
t=t*(a-i);
return(t);
17.用π/4=1-1/3+1/5-1/7+……公式请求π的近似值,直到某一项的绝对值小于10-6为止。
{if((1/(4*i+1))<0.000001||(1/(4*i+3))<0.000001)
s=s1+s2;
printf("%lf\n",4*s);}
18.输出1~10的阶乘值
doublefac(doublex)
{doubles,k;
for(s=1,k=1;s<=x;s++)
k=k*s;returnk;}
{doublei;
for(i=1;i<=10;i++)
printf("%1.0f!
=%1.0f\n",i,fac(i));}
19.输入正数,判断是否是素数
intprime(intx)
{intflag=1,i;
for(i=2;i{if(x%i==0)flag=0;}returnflag;}main(){intw;scanf("%d",&w);if(prime(w))printf("%disaprime\n",w);elseprintf("%disnotaprime\n",w);}20.求1+(1+2)+(1+2+3)+…+(1+2+…+n)#includeintsum(intx){inti,j=0;for(i=1;i<=x;i++)j=j+i;return(j);}main(){intn,p,s=0;printf("inputn:");scanf("%d",&n);for(p=1;p<=n;p++)s=s+sum(p);printf("%d",s);getch();}21.输入年月,输出该月有多少天。#includemain(){inta[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};inty,m,i;printf("Pleaseinputtheyear:");scanf("%d",&y);printf("Pleaseinputthemonth:");scanf("%d",&m);i=((y%4==0)&&(y%100!=0)||(y%400==0));printf("thismonthhas%ddays",a[i][m]);}22.编一个计算器,可以计算“+”“-”“*”“/”#includemain(){inta1,a2;charop;printf("sign:\n");scanf("%c",&op);printf("no.1:\n");scanf("%d",&a1);printf("no.2:\n");scanf("%d",&a2);switch(op){case'+':printf("%d+%d=%d\n",a1,a2,a1+a2);break;case'-':printf("%d-%d=%d\n",a1,a2,a1-a2);break;case'*':printf("%d*%d=%d\n",a1,a2,a1*a2);break;case'/':printf("%d/%d=%d\n",a1,a2,a1/a2);break;default:printf("wrong");}getch();}23.求555555的约数中最大的3位数:777#includemain(){inta[1000],n=555555,i,j,k=0,w,t;printf("555555的约数如下:\n");for(i=100;i<1000;i++){j=n%i;if(j==0){a[k]=i;printf("%5d",a[k]);k=k+1;}}t=a[0];printf("\n则其中最大的约数为:\n");for(w=1;w{{if(a[w]>t)t=a[w];}}printf("%d\n",t);}24.韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)){printf("%d\n",s);i=0;/*此处i=0*/}}}25.爱因斯坦阶梯问题(119)#includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)){printf("%d\n",s);i=0;/*此处i=0*/}}}26.输入m,n求其最小公倍数#includeintnum(intu,intv){intr;while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j,t;printf("请输入两个数:");scanf("%d%d",&i,&j);if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
{if(x%i==0)flag=0;}
returnflag;
{intw;
scanf("%d",&w);
if(prime(w))
printf("%disaprime\n",w);
else
printf("%disnotaprime\n",w);
20.求1+(1+2)+(1+2+3)+…+(1+2+…+n)
intsum(intx)
{inti,j=0;
for(i=1;i<=x;i++)
j=j+i;
return(j);}
{intn,p,s=0;
printf("inputn:
for(p=1;p<=n;p++)
s=s+sum(p);
printf("%d",s);
getch();}
21.输入年月,输出该月有多少天。
{inta[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
inty,m,i;
printf("Pleaseinputtheyear:
scanf("%d",&y);
printf("Pleaseinputthemonth:
scanf("%d",&m);
i=((y%4==0)&&(y%100!
=0)||(y%400==0));
printf("thismonthhas%ddays",a[i][m]);
22.编一个计算器,可以计算“+”“-”“*”“/”
{inta1,a2;
charop;
printf("sign:
scanf("%c",&op);
printf("no.1:
scanf("%d",&a1);
printf("no.2:
scanf("%d",&a2);
switch(op)
{case'+':
printf("%d+%d=%d\n",a1,a2,a1+a2);break;
case'-':
printf("%d-%d=%d\n",a1,a2,a1-a2);break;
case'*':
printf("%d*%d=%d\n",a1,a2,a1*a2);break;
case'/':
printf("%d/%d=%d\n",a1,a2,a1/a2);break;
default:
printf("wrong");
23.求555555的约数中最大的3位数:
777
{inta[1000],n=555555,i,j,k=0,w,t;
printf("555555的约数如下:
{j=n%i;
if(j==0)
{a[k]=i;
printf("%5d",a[k]);k=k+1;}}
t=a[0];
printf("\n则其中最大的约数为:
for(w=1;w{{if(a[w]>t)t=a[w];}}printf("%d\n",t);}24.韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数〉11:2111includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10)){printf("%d\n",s);i=0;/*此处i=0*/}}}25.爱因斯坦阶梯问题(119)#includemain(){ints=11,i=1;while(i==1)/*由于不知具体循环次数,故使用while型*/{s++;if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0)){printf("%d\n",s);i=0;/*此处i=0*/}}}26.输入m,n求其最小公倍数#includeintnum(intu,intv){intr;while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j,t;printf("请输入两个数:");scanf("%d%d",&i,&j);if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
{{if(a[w]>t)t=a[w];}
printf("%d\n",t);
24.韩信点兵:
士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。
求士兵人数〉11:
2111
include
{ints=11,i=1;
while(i==1)/*由于不知具体循环次数,故使用while型*/
{s++;
if((s%5==1)&&(s%6==5)&&(s%7==4)&&(s%11==10))
{printf("%d\n",s);
i=0;/*此处i=0*/}
}}
25.爱因斯坦阶梯问题(119)
if((s%2==1)&&(s%3==2)&&(s%5==4)&&(s%6==5)&&(s%7==0))
26.输入m,n求其最小公倍数
intnum(intu,intv)
{intr;
while((r=u%v)!
{u=v;v=r;}
return(v);
{inti,j,t;
printf("请输入两个数:
scanf("%d%d",&i,&j);
if(iprintf("则这两个数的最小公倍数为:%d\n",i*j/num(i,j));}27输入m,n求其最大公约数#includeintnum(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}main(){inti,j;printf("请输入两个数:");scanf("%d%d",&i,&j);printf("则这两个数的最大公约数为:%d\n",num(i,j));}28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includemain(){inti,j;inte=0,b=0,c=0,d=0;chara[100];printf("请输入一列字符串:\n");for(i=0;i<100;i++){a[i]=getchar();if(a[i]=='\n')break;}for(j=0;j{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;elseif(a[j]>=48&&a[j]<=57)c++;elseif(a[j]=='')b++;elsed++;}printf("该行字符串中空格个数为:%d\n",b);printf("该行字符串中数字个数为:%d\n",c);printf("该行字符串中英文字母个数为:%d\n",e);printf("该行字符串中其他字符个数为:%d\n",d);}29.输入十个数,将其排序#includemain(){inta[100],i,j,t,n;printf("请输入n:");scanf("%d",&n);printf("请输入这%d个数:",n);for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
printf("则这两个数的最小公倍数为:
%d\n",i*j/num(i,j));
27输入m,n求其最大公约数
{intt,r;
if(v>u){t=u;u=v;v=t;}
return(v);}
printf("则这两个数的最大公约数为:
%d\n",num(i,j));
28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
inte=0,b=0,c=0,d=0;
chara[100];
printf("请输入一列字符串:
for(i=0;i<100;i++)
{a[i]=getchar();
for(j=0;j
{if((a[j]>=65&&a[j]<=88)||(a[j]>=97&&a[j]<=122))e++;
elseif(a[j]>=48&&a[j]<=57)c++;
elseif(a[j]=='')b++;
elsed++;
printf("该行字符串中空格个数为:
%d\n",b);
printf("该行字符串中数字个数为:
%d\n",c);
printf("该行字符串中英文字母个数为:
%d\n",e);
printf("该行字符串中其他字符个数为:
%d\n",d);
29.输入十个数,将其排序
{inta[100],i,j,t,n;
",n);
for(i=0;i{scanf("%d",&a[i]);}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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
{scanf("%d",&a[i]);}
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;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
{for(j=0;j{if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}printf("则这%d个数按照从小到大的顺序排列为:\n",n);for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
{if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}
printf("则这%d个数按照从小到大的顺序排列为:
for(i=0;i{printf("%d\n",a[i]);}}30.输出100~200之间的素数#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
{printf("%d\n",a[i]);}
30.输出100~200之间的素数
for(i=2;iif(x%i==0)flag=0;returnflag;}main(){inti,j=0;for(i=100;i<201;i++){if(prime(i)){printf("%d",i);j=j+1;if(j%10==0)printf("\n");}}}31题:由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?(3男,3女,30小孩)#includemain(){intd,z,x;for(d=1;d<9;d++){for(z=1;z<=(36-4*d)/3;z++){x=36-d-z;if(4*d+3*z+0.5*x==36)printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}}}32题:输入一个字符串,将其正序反序输出?#include#defineM100intmain(){inti,j;chara[M];printf("请输入一列字符串:\n");for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
if(x%i==0)flag=0;
returnflag;}
for(i=100;i<201;i++)
{if(prime(i))
{printf("%d",i);j=j+1;if(j%10==0)printf("\n");}
31题:
由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完?
(3男,3女,30小孩)
{intd,z,x;
for(d=1;d<9;d++)
{for(z=1;z<=(36-4*d)/3;z++)
{x=36-d-z;
if(4*d+3*z+0.5*x==36)
printf("%d(男)%d(女)%d(小孩)\n",d,z,x);}
32题:
输入一个字符串,将其正序反序输出?
for(i=0;i{scanf("%c",&a[i]);if(a[i]=='\n')break;}printf("则该列字符串倒序输出为:");for(j=i;j>=0;j--)printf("%c",a[j]);printf("\n");return0;}33题:输入一行字符,统计以空格间隔的的单词个数?#includemain(){inti,n,l=1;chara[100];printf("请输入一行字符串:\n");for(n=0,i=0;n<100;n++,i++){a[i]=getchar();if(a[i]=='\n')break;}for(n=0;n{if(a[n]=='')l++;}printf("则行字符串共有%d个单词。\n",l);}34题:输出一个十进制数,将其转化为一个2进制数输出?#includemain(){intn,x=0,a[100];printf("请输入一个数字:\n");scanf("%d",&n);while(n){a[x++]=n%2;n=n/2;}--x;printf("则该数字的二进制表示为:\n");while(x>=0)printf("%d",a[x--]);printf("\n");}35题:水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?#includeintcube(intx){return(x*x*x);}main(){inti,g,s,b;for(i=100;i<1000;i++){b=i/100;s=(i-b*100)/10;g=i%10;if(cube(g)+cube(s)+cube(b)==i)printf("%d\n",i);}}36题:求从3开始到小于100的所有双素数?#includeintprime(intx){intflag=1,i;for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
printf("则该列字符串倒序输出为:
33题:
输入一行字符,统计以空格间隔的的单词个数?
{inti,n,l=1;
printf("请输入一行字符串:
for(n=0,i=0;n<100;n++,i++)
for(n=0;n
{if(a[n]=='')l++;}
printf("则行字符串共有%d个单词。
\n",l);
34题:
输出一个十进制数,将其转化为一个2进制数输出?
intn,x=0,a[100];
printf("请输入一个数字:
while(n)
{a[x++]=n%2;
n=n/2;}
--x;
printf("则该数字的二进制表示为:
while(x>=0)
printf("%d",a[x--]);
35题:
水仙花数,输入一个三位数,该三位数各位数字立方和等于该数本身?
intcube(intx)
{return(x*x*x);}
if(cube(g)+cube(s)+cube(b)==i)
printf("%d\n",i);
36题:
求从3开始到小于100的所有双素数?
for(i=2;iif(x%i==0)flag=0;returnflag;}main(){intn;for(n=3;n<99;n++){if(prime(n)&&prime(n+2))printf("%d/%d\n",n,n+2);}}37题:求两位绝对素数?
for(n=3;n<99;n++)
{if(prime(n)&&prime(n+2))
printf("%d/%d\n",n,n+2);
37题:
求两位绝对素数?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1