要求:
1)n和k由键盘输入;输入错误时提示并退出程序。
2)先在屏幕上输出各个素数,用' '隔开,再独行输出它们的总和。
3)当实际素数不足k个时,另加一行在()出只有XX字样。
代言文本:
#include "stdio.h"
int prime(int n){//素数判断
int i;
if(n>2 && !(n&1) || n<2)
return 0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(int argc,char *argv[]){
int n,k,x,s,t;
printf("Enter n & k(int 0<n,k)...\n");
if(scanf("%d%d",&n,&k)==2 && n>0 && k>0){
for(s=t=x=0,n-=!(n&1);n>1 && x<k;n>3 ? n-=2 : n--)
if(prime(n)){
printf(++t%7 ? "%d\t" : "%d\n",n);
s+=n,x++;
}
printf("\nThe SUM is %d\n",s);
if(x<k)//不足k个素数时输出"仅有xx个"
printf("(There are only %d)\n",x);
}
else
printf("Input error, exit...\n");
return 0;
}
供参考……