恰好等于它的因子之和(除自身外),则称该数为完全数。例如:6=1+2+3,6为完全数)
#include
for(a=1;a<=1000;++)
{ for( m=0, k=1 ; k<=a/2;k++) if(!(a%k)) m=m+k;
if(m= =a) printf(“M”,a); }
return 0; }
13.下面的程序是从键盘输入的10个整数中,找出一个能被7正处的数,若找到,打印次数;若未找到,打印not exist。请填空。 #include
for(k=1;k<=10;k++)
{ scanf(“%d”,&a);
if(a%7= =0) break; }
if (k<=10) printf(“%d\\n”,a); else printf(“not exist\\n”); return 0; }
四、给出下列程序运行后的输出结果
1. 当a=1,b=3,c=5,d=4时,执行以下程序段后x的值是 2 。 if (a
if(c if(a if(b else x=6; else x=7; 2. 以下程序的输出是 -1 。 #include { int a=100,x=10,y=20,ok1=5,ok2=0; if(x if(!ok1) a=1; else if(ok2) a=10; a=-1; printf(“%d\\n”,a); return 0; } 3. 以下程序的输出是 2 。 #include { int x=2,y=-1,z=2; if(x if(y<0) z=0; else z+=1; printf(“%d\\n”,z); return 0; } 4. 以下程序的输出是 OK 。 #include printf(“OK”); else if(x<2) pirntf(“%d\\n”,x); else printf(“Quit”); return 0; } 5. 若运行时为变量x输入12,则以下程序的运行结果是 0 。 #include scanf(“%d”,&x); y=x>12? X+10: x-12; printf(“%d\\n”,y); return 0; } 6. 若运行时输入:2<回车>,则以下程序的运行结果是 2nd class postage is 14p 。 #include printf(“Enter 1 for 1st class post or 2 for 2nd post”); scanf(“%c”,&class); if(calss= =?1?) printf(“1st class postage is 19p”); else printf(“2nd class postage is 14p”); return 0; } 7. 若运行时输入4.4<回车>,则以下程序的运行结果是 Selling Price(0.3)$ 5.72 。 #include { float costPrice, sellingPrice; printf(“Enter costPrice $:”); scanf(“%f”,&costPrice); if( costPrice>=5 ) {sellingPrice=costPrice+costPrice*0.25; printf(“Selling Price(0.25)$ %6.2f”,sellingPrice); } else { sellingPrice=costPrice+costPrice*0.3; printf(“Selling Price(0.3)$ %6.2f”,sellingPrice); } return 0; } 8. 若运行时输入:1605<回车>,则以下程序的运行结果是 4:05PM 。 #include scanf(“%d”,&t); h=(t/100); if(h= =0) h=12; printf(“%d:”,h); m=t0; if(m<10) printf(“0”); printf(“%d”,m); if(t<1200 || t= =2400) printf(“AM”); else printf(“PM”); return 0; } 9. 以下程序的运行结果是 20 。 #include if(a) d=d-10; else if(!b) if(!c) x=15; else x=25; printf(“%d\\n”,d); return 0; } 10. 以下程序的输出结果是 。 #include switch(x) { case 1: case 2: case 3: case 4: printf(“x<5\\n”); case 5: printf(“x=5\\n”); default: printf(“The value of x is unknwn.\\n”); return 0; } 输出结果: x=5 The value of x is unknwn. 11. 下面程序的运行结果是 123 。 #include while(num<=2) { num++; printf(“%d”,num); } return 0; } 12.若运行以下程序时,从键盘输入3.6 2.4<回车>,则下面程序的运行结果是 1.600000 。 #include scanf(“%f%f”,&x,&y); z=x/y; while(1) if(fabs(z)>1.0 {x=y; y=z; z=x/y;} else break; printf(“%f\\n”,y); return 0; } 13. 下面程序的运行结果是 8 。 #include for( a=1, b=1; a<=100; a++) { if(b>=20) break; if(b%3= =1) {b+=3;continue;} b - =5; } printf(“%d\\n”,a); return 0; }