1、9) wei=2; else wei=1; wan=n/10000; qian=n/1000%10; bai=n/100%10; shi=n/10%10; ge=n%10; if(wei=5) coutwei,wanqianbaishige int i,n,k;cin k=sqrt(n);for(i=2;ik) n是素数else cout不是素数 return 0;对于一个数的各个除数来说,到它的平方根位置即可找出所有的除数,那么循环可以进行到这个数的平方根位置是就可以停止。再利用循环从1到平方根位置的数进行顺次整除进行判断。2、利用函数完成void p(int n) int k,i; k=s
2、qrt(n); for(i=2; if(n%i=0) break;k) cout else cout int n; p(n); return 0;三、奇偶数的判定利用条件判断进行判定,即if语句, if(n%2=0)则为偶数,否则为奇数 int a;a; if(a%2=0)yes elseno四、数的大小的比较(一)对三个数的排序比较1、利用if语句实现,利用中间变量进行比较。int a,b,c,max;coutbc;if(ab) if(ac) /*对a和c进行比较*/ max=a; /*如果if语句的条件正确,执行这个语句,即如果ac,将a的值赋值给max*/ else max=c; /*如
3、果if语句的条件不正确,执行这个语句,即如果ac) max=b;max=max进行两轮比较后,即可比较完2、#includemax) max=c;3、利用条件表达式比较 int a,b,c,max,min; min=ab?a:b; min=min max=maxmax:endlmin=min(二)对多个数的比较利用循环语句,对每个数进行顺次比较,利用中间变量,将每个数和中间变量进行比较,如果符合条件,那就刷新值,如果不符合条件,就进行下面的比较。int temp,max=0,min,i=0; /*首先对max进行赋初值为零,然后要和下面的输入值进 行比较,不过不赋初值,就没法和下面的值进行比较
4、*/Please input scores:temp;min=temp; /*这个语句的作用是将输入值赋值给min,因为数都是大于0的, 如果赋初值为0,那么将对最小值无法进行比较,但不影响最大值*/ for(;) if(tempmax) max=temp; /*进行条件判断,如果值大于max,就将中间变量的值赋值给max*/min) min=temp; /*然后输入另一个数,进行下一轮的比较*/t 五、数的求和,平均值问题1、一般的输入数据求和 int a,sum=0,i; while(a0) sum+=a; cin sum2、求1+2+3+n; int n,sum,i; /*计算1+2+3
5、+.+n的值*/ sum=0;1+2+3+.+n的值为: for(i=1;=n; sum+=i;3、1+3+5+99的值4、2+4+6+100的值5、求1+2+3+n的和不大于1000的最大自然数n int n,s=0; for(n=1;s=1000;n+) s+=n;n=6、, n从键盘输入 /*计算sqrt(1)+sqrt(2)+.+sqrt(n)的值*/ int n,i; double sum=0; sum+=sqrt(n);sum=7、 double sum=0,s=0; s+=sqrt(n); sum+=s;8、求出分数序列2/1+3/2+5/3+8/5+13/8,的前20项的和。
6、/*计算2/1+3/2+5/3+.的前20项的值*/ int i,t; double sum=0,z,a=2,b=1;=20; sum+=a/b; t=a; a+=b; b=t;9、求出分数序列2/4+4/7+6/10+8/13+10/16+的前20项的和 /*计算2/4+4/7+6/10+8/13.*/ int i,n; double sum,t; for(i=1,sum=0; t=(2.0*i)/(3.0*i+1); sum+=t;2/4+4/7+6/10+8/13.的值为:10、求n! int i,n,sum=1 ; sum*=i;11、1!+2!+n!,n从键盘输入 int i,n,s
7、um=0,t=1; t*=i; sum+=t;12、求s=a+aa+aa,共n个,其中n和a从键盘输入 int s=0,i,n,k,a,z,sum;请输入a:请输入n: for(k=1;kk+) for(i=0;k; z=a*pow(10,i); s+=z; s=13、对三个数求平均数 float a,b,c,ave=0; ave=(a+b+c)/3;ave=0; ave+=x; ave/=i;六、大小写字母的转换 char ch;请输入一个字母ch:ch; if(ch=a&ch)?ch-32:七、输入一行字符,分别统计其中英文字母,数字,空格,其他字符的个数。 char c; int let
8、ters=0,space=0,digit=0,other=0;enter one line: while(c=getchar()!n) /getchar的作用是输入一个字符。 if(ccAZ letters+; else if(c= space+; else if(c09 digit+; other+;letter:lettersspace:spacedigit:digitother:other八、求水仙花数,即一个三位数,各位的数字的立方和等于该数本身。 /要使用数学库函数,加入此命令。 int m,a,b,c; for(m=100;m=999;m+) a=m/100; /*a为三位数百位数
9、的值*/ b=m/10%10; /*b为三位数十位数的值*/ c=m%10; /*c为三位数个位数的值*/ if(m=pow(a,3)+pow(b,3)+pow(c,3) /pow(x,y)的作用是求xy.m=九、打印输出如下“*”金字塔。* /*打印金字塔*/ int i,j;=5; for(j=1;j=5-i;j+) =2*i-1;*十、打印出九乘九乘法表=9; for(j=1;=i;=i*jm; if(nm) temp=n; n=m; m=temp; p=m*n; while(m!=0) r=n%m; m=r;最大公约数为=最小公倍数为=p/n十二、将一个一位数组逆序输出。 int i,
10、a10=1,2,3,4,5,6,7,8,9,10,j,t;原数组中的数据:n for(i=0;10;aiai+1) t=ai; ai=ai+1; ai+1=t; The sorted numbers: for(i=1; if(i%5=0) cout return 0;十五、选择排序 int a20,i,j,t,p;19; p=i; for(j=i+1; if(ajap) p=j; if(p!=i) t=ai; ai=ap; ap=t; for(i=0;十六、 int x,y; if(x1) y=x; else if(x10) y=2*x-1; else y=3*x-11;y=y十七、给出一个百分制成绩,要求输出等级。成绩分为5个等级,分别为A(90100),B(8089),C(7089),D(6069),E(059)
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2