5)写出一下程序的运行结果。(1) void main Otint num=l ;while(num<=2 );printf("%d)n",++num)(2) main 0int i=l;while (i<5)if(++i%31=2)continue;else printf (%din",i)3(3)mainOint i,x,y;i=x=y=0 ;do (++i;if(i%2!=0)(x=x+i; i++)y=y+i++;↑while (i<=7);printf(x=%d,y=%din", x,y ),6)编程输出1000以内的全部完数。所谓完数,是指该数恰好等于他的全部真因子的和如6=1+2+3。void main()int i,n,k,a;for(i=o;i<1ooo;i++)n=i;a=l;for(k=2;k<=n;k++)(while(n!=k)(16
16 5)写出一下程序的运行结果。 (1)void main (){ int num =1 ; while (num<=2 ); printf(“%d\n”, ++num) } (2)main (){ int i =1 ; while (i<5 ) if (++i%3!=2 ) continue ; else printf (“%d\n”, i) } (3)main(){ int i , x ,y ; i=x=y=0 ; do { ++i ; if (i%2!=0 ) {x=x+i ; i++ } y=y+i++ ; }while (i<=7 ); printf (“x=%d,y=%d\n ”, x , y ); } 6)编程输出 1000 以内的全部完数。所谓完数,是指该数恰好等于他的全部真因子的和, 如 6=1+2+3。 void main(){ int i,n,k,a; for( i=0;i<1000;i++ ){ n=i; a=1; for(k=2;k<=n;k++){ while(n!=k){
if(n%k==0)(a = a+k;n=n/k;-elsebreak;if(nl=i)a= a+n;if(a==i)(printf("find%din"i);+7)从键盘输入一个正整数,编程判断其是的为素数(相数)void main()int i,a;cin>>a;for(i=a-l;i>l;i--)(if((a%i)==0)break;1if (i>l) cout<<"no";elseicout<<"yes";8)从键盘输入100个整数,求其中正整数的和。void main()(int i,a,s=0;for(i=0;i<1oo;i++)cin>>a;if(a>o )( s+=a;17
17 if(n%k==0){ a = a+k; n=n/k; } else break; } } if(n!=i) a = a+n; if (a==i){ printf("find ========== %d\n",i ); } } 7)从键盘输入一个正整数,编程判断其是否为素数(质数). void main(){ int i,a; cin>>a; for( i=a-1;i>1;i- ){ if ( (a%i)==0 ) break; } if (i>1) cout<<”no”; else cout<<”yes”; } 8)从键盘输入 100 个整数,求其中正整数的和。 void main(){ int i,a,s=0; for( i=0;i<100;i++ ){ cin>>a; if ( a>0 ){ s+= a; }
Hcout<<s;9)从键盘输入1000个学生某门课程的百分制成绩,分别统计其中80分以上(即大于或等于80)、60分以上及低于60分的人数。void main()(inti,s80=0,s60=0,s0=0;float scfor(i=0;i<1000;i++)(cin>>sc;if ( sc>=80 ) s80++;if(sc>=60)s60++:if(sc<60)so++;1cout<<s80<<"\n"<<s60<<"\n"<<s0;正10)某工地需要搬运砖块,已知男人每人每次搬3块,女人每人每次搬2块,小孩两人每次抬一块,现有45人一次正好搬完45块砖,请问男人、女人、小孩各几人?//穷举法void main()(int i,j,k;for(i=0;i<=15;i++)(for(j=0;j<=22.5;j++)(for(k=0;k<=45;k+=2)((3*i+2*j+k/2==45))(if((i+j+k ==45)&&printf("men=%d women=%d child=%d)n",i,j,k);118
18 } cout<<s; } 9)从键盘输入 1000 个学生某门课程的百分制成绩,分别统计其中 80 分以上(即大于 或等于 80)、60 分以上及低于 60 分的人数。 void main(){ int i,s80=0,s60=0,s0=0; float sc; for( i=0;i<1000;i++ ){ cin>>sc; if ( sc>=80 ) s80++; if ( sc>=60 ) s60++; if ( sc<60 ) s0 ++; } cout<<s80<<”\n”<<s60<<”\n”<<s0; } 10)某工地需要搬运砖块,已知男人每人每次搬 3 块,女人每人每次搬 2 块,小孩两人 每次抬一块,现有 45 人一次正好搬完 45 块砖,请问男人、女人、小孩各几人? // 穷举法 void main(){ int i,j,k; for(i=0; i<=15; i++){ for(j=0; j<=22.5; j++){ for(k=0; k<=45; k+=2){ if((i+j+k == 45) && (3*i+2*j+k/2==45)){ printf("men=%d women=%d child=%d\n", i, j, k); }
11)从键盘输入两个正整数到m、n中,求它们否最大公约数和最小公倍数intgcd(inta,intb);//求最大公约数intminv(inta,intb);//最小公倍数int main()(int a,b,c,d;scanf("%d %d",&a,&b) ;c=gcd(a,b);d=minv(a,b);printf("%d %d",c,d);return0;上int gcd(int a,int b)(if(b==0))returna;return gcd(b,a%b);1int minv(int a,int b)(int n;n=(a*b)/ (gcd(b,a%b));return n;-12)打印所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字否立方和等于该数自身,如153。19
19 } } } } 11)从键盘输入两个正整数到 m、n 中,求它们的最大公约数和最小公倍数。 int gcd(int a,int b);//求最大公约数 int minV(int a,int b);//最小公倍数 int main(){ int a,b,c,d; scanf("%d %d",&a,&b); c=gcd(a,b); d=minV(a,b); printf("%d %d",c,d); return 0; } int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b); } int minV(int a,int b){ int n; n=(a*b)/(gcd(b,a%b)); return n; } 12)打印所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等 于该数自身,如 153
void main()int i,al,a2,a3;for(i=1000;i<999;i++)(al=i/100;a2=(i%100)/10;a3=i%10;if((al*a1*al+a2*a2*a2+a3*a3*a3)==i)(cout<<i<<"ln";1113)输出200到300之间满足如下条件的数,即各位数字之和为12,数字之积为56。void main()fint i,g,s,bfor(i=200;i<=300;i++)(b= int(i/100);s =int((i-b*100)/10);g = (i810);if((b+s+g)==12&&(b*s*g)==56)(printf("### i = %d %d %d \n",b,s,g );上14)求Zn!(即求1+2+3+4+....+n)void main()(int i,j,n; double ss,sl;cin>>n;ss = O;for(i=o;i<n;i++)(20
20 void main(){ int i,a1,a2,a3; for( i=1000;i<999;i++ ){ a1 = i/100; a2 = (i%100)/10; a3 = i%10; if ( (a1*a1*a1+a2*a2*a2+a3*a3*a3)==i ){ cout<<i<<”\n”; } } } 13)输出 200 到 300 之间满足如下条件的数,即各位数字之和为 12,数字之积为 56。 void main(){ int i,g,s,b; for ( i=200;i<=300;i++ ){ b = int(i/100); s = int((i-b*100)/10); g = (i%10); if ( (b+s+g)==12 && (b*s*g)==56 ){ printf("### i = %d %d %d \n",b,s,g ); } } } 14)求∑n!(即求 1!+ 2!+ 3!+ 4!+ . + n!) void main(){ int i,j,n; double ss,s1; cin>>n; ss = 0; for ( i=0;i<n;i++ ){