版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 例求7!main( )int t=1,i=2; while (i0) t=ti; i- -; printf(“7!=%dn”,t); 读程序写出运行结果main( )long x;int n=0;scanf(“%ld”,&x); 运行时输入:-10203040 x=x0?x:-x; 运行结果 :while(x!=0) n+; x=x/10; printf(%dn,n);运行结果 :8 循环体内增加printf(%dn,x);运行结果是:1020304102030102031020102101081. for(i=0;(c=getchar( )!=n;i+=c)作用?2. for(;(
2、c=getchar( )!=n;)printf(“%c”,c);结果?输入:computer输出:computer1. main( )2. int number,digit;3. scanf(“%d”,&number); 运行时输入89624. do5. digit=number%10;6. printf(%d,digit);7. number/=10;8. while(number!=0);9. printf(n);10.结果:2698 main( )int i,j,k;j=1;k=0;for(i=1;i=10;i+=2) j=j*i; k=k+j;printf(first k=%d
3、n,k);j=1; /*注意不同点*/k=0;for(i=1;i=10;i+=2) j=j*i; k=k+j;printf(second k=%dn,k); 结果: first k=1069 1+1*3+1*3*5+1*3*5*7+1*3*5*7*9 second k=9451*3*5*7*9 编程序:输入两个正整数m和n,求最大公约数和最小公倍数 用展转相除法:如果:m%n=0则n为最大公约数 (%,求余)否则:除数变为被除数,余数变为除数继续进行m%n的运算1. main()2. int a,b,numb1,numb2,temp;3. scanf(%d,%d,&numb1,&
4、;numb2);4. a=numb1,b=numb2;5. while(b!=0)6. temp=a%b;7. a=b;8. b=temp;9. 10.printf(它们的最大公约数为:%dn,a);11.printf(它们的最小公倍数为%dn,numb1*numb2/a);12. 打印输出所有的“水仙花数”。153=13+33+5 一个三位数,其各位数字的立方和等于该数本身main( )int i,j,k,n; for(n=100;n1000;n+) i=n/100; j=n/10-i*10; k=n%10; if(n=i*i*i+j*j*j+k*k*k) printf(“水仙花数:%d,n
5、); printf(n); 运行结果:水仙花数:153,370,371,407,1. for(i=0;i3;i+) printf(“Hello”);2. for(j=0;j2;j+) for(i=0;i3;i+) printf(“Hello”); 3. for(j=0;j2;j+) for(i=0;i3;i+) printf(“Hello”); printf(“n”); 1. Hello Hello Hello2. Hello Hello Hello Hello Hello Hello3. Hello Hello Hello Hello Hello Hello1. 计算并输出九九乘法表#inc
6、lude stdio.hmain() int i,j,a; for(i=1;i=9;i+) for(j=1;j=i;j+) a=i*j; printf(%d*%d=%d,i,j,a); printf(n); 运行结果:1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=165*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=367*1=7 7*2=14 7*3=21 7*4 28 7*5=35 7*6=42 7*7=498*1=8 8*2=16
7、 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=649*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 2.输出图形 main( )int k=1,j; while(k=7) j=1; while(j=k) printf(*); j+; printf(n); k+; *3. 输出图形main()int i,j,k; for(i=1;i=4;i+) for(j=1;j=9-i;j+) printf( ); for(k=1;k=2*i-1;k+) printf(*); printf(n); fo
8、r(i=1;i=3;i+) for(j=1;j=i+5;j+) printf( ); for(k=1;k=1;i- ) for(j=1;j=9-i;j+) printf( ); for(k=1;k=0;i-) for(j=1;j=i+5;j+) printf( ); for(k=1;k=7-2*i;k+) printf(*); printf(n);* 4.输入两个正整数,m和n求最小公倍数1. main() /* 3,5 4,3检验*/ 2. int m,n,temp;3. scanf(%d,%d,&m,&n);4. if(mn) temp=m;m=n;n=temp;5. te
9、mp=m;6. while(temp%n!=0)7. tem+=m;8. printf(“最小公倍数: %dn,temp); 格式:continue; 例6.5把100200之间的不能被整除的数输出 main( ) int n; for(n=100;n=200;n+) if(n%3=0) continue; printf(“%d”,n); 例:统计50100之间不能被或或除尽的整数main( )int n; for(n=50;n100;n+) if(n%2=0)continue; else if(n%3=0) continue; else if(n%7=0) continue; else pr
10、intf(%5d,n); 运行结果:53 55 59 61 65 67 71 73 79 83 85 95 97 如果不用continue语句,则可改写成main( )int n; for(n=50;n100;n+)if(n%2!=0) if(n%3!=0) if(n%7!=0) printf(%5d,n); 还可以更简单:if(n%2 & n%3 & n%7) printf(%5d,n); main( )char ch_old,ch_new; ch_old=.;doscanf(%c,&ch_new);if(ch_new=ch_old) continue;ch_old=
11、ch_new; printf(%1c,ch_old);while(ch_new!=.);printf(n);运行时输入:ssstuuddennttt. 运行结果:student 题意为:将输入的字符复制输出,但如果一个相同的字符连续输入几次,则只复制输出一次,当读到.就结束 例6.6用/41-1/3+1/5-1/7+公式求的近似值,直到最后一项的绝对值小于10-6为止#include main( )int s; float n,t,pi; t=1,pi=0;n=1.0;s=1; while(fabs(t)le-6) pi=pi+t; n=n+2; s=-s; t=s/n; pi=pi*4; p
12、rintf(pi=%10.6fn,pi);运行结果:3.141594t=1,pi=0,n=1,s=1 当 |t| 10-6pi=pi+tn=n+2s=-st=s/n输出pipi=pi*4 例6.8判断m是否素数读入mk=i=2真m被i整除假用break结束循环ii+1真ik+1 假输出:m不是素数输出:m是素数 当ikm#include main( ) int m,i,k; scanf(%d,&m); k=sqrt(m); for(i=2;i=k+1)printf(%d is a prime numbern,m); else printf(%d is not a prime numbe
13、rn,m);运行时输入:17运行结果:17 is a prime number 例6.9求100200间的全部素数 #include main( ) int m,k,i,n=0; for(m=101;m=200;m=m+2) k=sqrt(m); for(i=2;i=k+1)printf(%d,m);n=n+1; if(n%10=0)printf(“n”);/*控制每行输出10个数据*/ printf(n); 例6.10译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。如,按以下规律将电文变成密码: 将字母A变成字母E,a变成e,即变成其后的第四个字母,W变
14、成A,X变成B,Y变成C,Z变成D,循环BCDZYWEFAXChina!转变为:Glmre!非字母字符不变#include main( ) char c; while(c=getchar( )!=n) if(c=a&c=A&cZ&cz)c=c-26; printf(%c,c); if(cZ&cz)c=c-26; if(cZ|cz) c=c-26; 不能这样! 1输入两个正整数m和n,求它们的最大公约数和最小公倍数。 在运行时,输入的值mn,观察结果是否正确。 重新运行,输入时使mn,观察结果是否正确。 #include stdio.h void main() i
15、nt m,n,r,t,j; scanf(%d%d,&m,&n);j=m*n;if(m0) printf(%dn,sum); sum=(sum+1)*2;day-;printf(%dn,sum); 3编程计算1+(1+2)+(1+2+3)+(1+2+3+4)+.+(1+2+3+.+n)的值。 (本题中的n从键盘输入,且假设在20以内) #include stdio.h void main() int sum=0,t,n,i,j;scanf(%d,&n);for(i=1;i=n;i+) t=0;for(j=1;j=i;j+)t=t+j;sum=sum+t;printf(%d
16、n,sum); 4试编程:找出1至99之间的全部同构数。同构数是这样一组数:它出现在平方数的右边。例52=25,5在25的右边,5是同构数;252=625,25在625的右边,25是同构数。 #include stdio.h void main() int n;for(n=1;n=99;n+)if(n*n%10=n|n*n%100=n)printf(%3d,n); 5 编程求100300之间的全部素数的和 #include stdio.h void main() int n,i,sum=0,flag;for(n=101;n=300;n+=2) flag=1; /*flag作为标志,假设是素数*
17、/for(i=2;i=n/2;i+)if(n%i=0)flag=0;break;if(flag=1)sum=sum+n;printf(%d,sum); 1. 利用下面公式求s的值(求20项之和)s=1/(1*2*3)-1/(2*3*4)+1/(3*4*5)-1/(4*5*6)+.+1/(19*20*21)-1/(20*21*22) #include stdio.h void main() float n,t,sum=0,flag=1;for(n=1;n=20;n+) t=1/(n*(n+1)*(n+2)*flag;sum=sum+t;flag=-flag;printf(%f,sum); 2.一
18、个素数加上1000以后是43的倍数,求满足这个条件的最小素数。 #include stdio.h void main() int n=2,flag,i;while(1)flag=1; /*flag作为标志,假设是素数*/for(i=2;i=n/2;i+)if(n%i=0)flag=0;break;if(flag=1&(n+1000)%43=0)printf(%dn,n);break;n+; 3 有2个小于40的正整数a和b,a的平方与b的和是1053,b的平方与a的和是873,请编程求满足条件的a和b的值。(提示:满足条件的a,b的值唯一) #include stdio.h void
19、main() int a,b;for(a=1;a=40;a+)for(b=1;b=40;b+)if(a*a+b=1053&a+b*b=873)printf(a=%d,b=%dn,a,b);break; 4 一个自然数除以2余1,除以3余2,除以4余3,除以5余4,除以7余5,求满足这个条件的最小的自然数? #include stdio.h void main() int n=1;while(1)if(n%2=1&n%3=2&n%4=3&n%5=4&n%7=5)printf(%dn,n);break;n+; 5 求所有的水仙花数之和。所谓水仙花数是指一个三
20、位数,其各位数字的立方和等于该数本身。例如153是一个水仙花数,因为:153=1*1*1+5*5*5+3*3*3。 #include stdio.h #include math.h void main() int n,n3,n2,n1,t;for(n=100;n=999;n+)n3=n/100; /*百位上的数字*/n2=n%100/10; /*十位上的数字*/n1=n%10; /*个位上的数字*/t=(int)(pow(n3,3)+pow(n2,3)+pow(n1,3);if(n=t)printf(%4d,n); 运行结果:水仙花数:153,370,371,407,6 分别计算500到1300之间所有既能被7整除又能被13整除的奇数和偶数之和。 #include stdio.h #include math.h void main() long int n,jisum=0,ousum=0;for(n=500;n=1300;n+)if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论