输出100到200之间所有的素数,并求其总和。c语言

如题所述

#include <stdio.h>
void main(){
int i,j,n=0,s=0;
for(i=100;i<=200;i++)
{
for(j=2;j<=i/2;j++)
if(i%j==0) break;
if(j>i/2)
{
printf("%d ",i);
s+=i;n++;
if(n%10==0) printf("\n");
}
}
printf("\nS=%d",s);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-26
#include <stdio.h>
int main()
{
int i,j,sum=0;
for(i=100;i<201;i++)
    for(j=2;j<i;j++)  //从2到i-1判定能不能把i整除
        if(i%j==0) break; //能,不是素数,退出内循环
        else if(j==i-1) {sum+=i;printf("%d,",i);} //不能且判断到了-1
printf("\nsum=%d",sum);
return 0;
}

第2个回答  2018-04-26
#include<stdio.h>

int main()
{
const int Min=100,Max=200;
long sum=0;
int i,j;

printf("%d到%d之间的素数有:",Min,Max);
for(i=Min;i<=Max;i++)
{
if(i>1)
{
for(j=2;j<i;j++)
{
if(0==i%j)
break;
}
if(j>=i)
{
sum+=i;
printf("%d ",i);
}
}
}
printf("\n它们的和是:%ld\n",sum);
return 0;
}本回答被网友采纳