double s=0,t=1; int n;
for(___;t>=le-5;n++) {s=s+t; t=_______; }
printf(“PI=%f”,2*______); }
答案:n=1 t=t*n/(2*n+1) s
8、下列程序输出200~300之间的全部素数的和,请填空。 #include
{int i,j,f,s=0;
for(i=201;i<=300;i+=2) {f=____;
for(j=2;j<=i/2;j++) if(i%j==0) {f=0;
______; }
if(_____)s+=i; }
printf(“200~300之间的全部素数的和为%d\\n”,s); }
答案: f=1; break; if(f)s+=i;
9、以下程序的功能是求两个整数的最大公约数,运行时输入两个数。
#include
int m,n,r,t;
printf(\请输入两个整数m和n:\\n\scanf(\if( ) {t=m;m=n;n=t;} while( ) {m=n;
; }
printf(\它们的最大公约数为%d\\n\
答案:if(m 10程序输出以下图形,请填空。 1 23 456 7890 main() { int i=1,j; int_____; for(;_____;i++) {for(j=s;j<=s+i;j++) printf(“%d”,_____); s=s+I; printf(“\\n”); } } 答案:int s=1; for(;i<=4;i++) printf(“%d”,j); 11、以下程序输入一行字符(以回车结束输入),统计其中所有小写字母的个数,请填空。 #include “stdio.h” main() {char ch; int s=0; ch=getchar(); while(ch!=_____) {if(ch>=’a’_____ch<=’z’)s++; _________} printf(“%d\\n”,s); } 答案:’\\n’ && ch=getchar() 12.已知一个首项大于0的等差数列的前四项之和是26,积是880,下列程序输出该四项之值,请填空。 #include {int a1,sum,product,a2,a3,a4; for(a1=1;a1<=5;a1++) for(a2=1;a2<=5;a2++) {a3=2*a2-a1; a4=2*a3-a1; _____=a1+a2+a3+a4; _____=a1*a2*a3*a4; if(sum==26_____prioduct==880) printf(“a1=-,a2=-,a3=-,a4=-\\n”,a1,a2,a3,a4); } } 答案:sum product && 13.下列程序输出200~300的全部素数中,个位数是3的素数和,请填空。 #include {int i,j,f,s=0; for(i=201;i<300;i+=2) {f=____; for(j=2;j<=i/2;j++) if(i%j==0) {f=0; _______; } printf(“s=%d\\n”,s); } 答案:f=1 break f&&i?==3 14.百马百担问题。有100匹马驮100担货,大马驮3担,中马驮2担,小马驮 1担。下列程序输出大、中、小马的匹数,(大、中、小的匹数均不得为0),请填空。 #include {int i=1,j,k; While(j<33) {______; While(j<50-i) {k=100-i-j; If(i*3+j*2+k/2==100&&_____) Printf(“bi=%d,mid=%d,small=%d\\n”,I,j,k); _______; } i++; } } 答案:j=1 k%2==0 j++ 15.一个素数加上1000以后是43在倍数,下列程序输出满足这个条件在最小素 数,请填空。 #include {int n,f,I; n=3; While(_____) {f=1; For(i=2;i<=n/2;i++) If(n%i= =0) {f=0;break;} If(_____&&(n+1000)C= =0) {printf(“n=%d\\n”,n); ____; }n+=2; } } 答案:1 f break 16.以下程序打印出所有的“水仙花数”。所谓“水仙花数”是指一个3位数, 其各位数字的立方和等于该数本身。例如,153是一个“水仙花数”,因为种种原因153=13+33+53 。请填空。 Main() {int I,j,k,n; Printf(“水仙花数:”) ; For(n=100;n<=1000;n++) {i=_____; j=______ K=n; If(____) printf(“%d\\n”,n); } } 答案:n/100 n/10 i*i*i+j*j*j+k*k*k==n 17.有2个小于100的正整数a、b,a与b的和等于110,a的平方与b的平方 之和是6698,下面的程序输出满足上述条件的a、b的值(a main() {int i,j,a=0,b=0; for(i=1;i<100;i++) {for(j=1;j<100;j++) if(i+j==110&&i*i+j*j==6698) {a=_______; b_______; break;} if(____)break; } printf(“a=%d,b=%d\\n”,a,b); } 答案:a=i b=j a&&b n-1 18、以下程序计算s=1-1/(1+2)+1/(1+2+3)-1/(1+2+3+4)+?+(-1)/(1+2+3+? +n)的值(假设本题中的n=20)),请填空。 #include float s=0,s1; for(i=1;i<=20;i++) { ; for(j=1; ;j++) s1=s1+j; if(i%2==1) s+=1/s1; else ; } printf(\} 答案:s1=0; j