C语言求100到200内素数之和

全过程加必要注解!!!

第1个回答  2013-11-24
void main(){ int i,j,s=0; for(i=100;i<=200;i++) //100~200 { for(j=2;j<i;j++) //让j从2开始到i-1,分别作除数去除i; if(i%j==0)break; //如果有任何一个数能整除i,退出循环 if(i==j) s+=i; //如果i==j说明break语句没执行,则i是素数,当然要加到S中了 }printf("%d\n",s);}
第2个回答  2013-11-24
#include<stdio.h>
#include<math.h>int Su(int n)//判断是不是素数
{
int i;
n=(int)sqrt(n);
for(i=2;i<=n;i++)
if(n%i==0) return 0;//条件成立则为合数
return 1;
}int main()
{
int i,n,sum;
for(i=100,sum=0;i<=200;i++)
if(Su(i)) sum+=i;
printf("the result is %d\n",sum);
return 0;
}本回答被网友采纳
第3个回答  2013-11-24
#include <stdio.h>
#include <math.h>
int prime(int m)//判断是否为质数
{
int i, t;
t = sqrt((double) m);
for(i = 2; i <= t; i++)
if(m % i == 0) break;
if(i > t)
return 1;
else return 0;
}
int main()
{
int i = 0, sum = 0;
for (i = 100; i <= 200; i++)
if(prime(i) == 1)//若是则加到sum上
sum = sum + i;
printf("%d\n",sum);
return 0;
}
第4个回答  2013-11-24
#include "stdio.h"
#include "conio.h"
#include <math.h>
int prime(int m)
{
int i, t;
t = sqrt((double) m);
for(i = 2; i <= t; i++)
if(m % i == 0) break;
if(i > t)
return 1;
else return 0;
}
main()
{
int i,s=0;
for(i=100;i<=200;i++)
if(prime(i) == 1)
s += i;
printf("Result=%d",s);
getch();
}
相似回答