这个程序哪里错了,为什么
#include<stdio.h>
#include<math.h>
main()
{
int i,j,flag,sum=0;
for(i=100;i<=300;i++);
{
for(flag=0,j=2;j<=i-1;j++)
if(i%j==0)
{
flag=1;
break;
}
if(flag==0)
sum+=i;
}
printf("the sum is%d\n",sum);
}
为什么运行结果是0
#include<stdio.h>
void main()
{int n,i,k;k=0;
for(n=100;n<=300;n++)
{
for(i=2;i<=n-1;i++)
{if(n%i==0)break;
}
if(i>n-1)
k+=i;
}printf("100到bai300的素数和是%d\n",k);
}
扩展资料:
static int SumSu(int m,int n){
baiint sum=0;
dufor(int i=m;i<n;i++){
if(i==1)sum+=1;
int temp = 0 ;
for(int y=1;y<10;y++){
if(i%y==0&&i!=2){
temp++;
if(temp==2){
System.out.println(i);
sum+=i;
参考资料来源:百度百科-质数
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-04-20
for(i=100;i<=300;i++)这句后面多个分号,去掉分号就对了
第2个回答 推荐于2016-08-13
#include<stdio.h>
#include<math.h>
main()
{
int i,j,flag,sum=0;
for(i=100;i<=300;i++)//此处多了一个分号。。。以修改
{
for(flag=0,j=2;j<=i-1;j++)
if(i%j==0)
{
flag=1;
break;
}
if(flag==0)
sum+=i;
}
printf("the sum is%d\n",sum);
}本回答被提问者采纳
#include<math.h>
main()
{
int i,j,flag,sum=0;
for(i=100;i<=300;i++)//此处多了一个分号。。。以修改
{
for(flag=0,j=2;j<=i-1;j++)
if(i%j==0)
{
flag=1;
break;
}
if(flag==0)
sum+=i;
}
printf("the sum is%d\n",sum);
}本回答被提问者采纳
第3个回答 2011-04-20
int is_prime(int x)
{
int i;
for(i = 2; i < x; i++) if(x%i == 0) return 0;
return x;
}
int main(void)
{
int x = 0, y = 0;
for(x = 100; x < 300; x++) y += is_prime(x);
printf("\n%d\n", y);
return 0;
}
/*运行的结果是7215*/
{
int i;
for(i = 2; i < x; i++) if(x%i == 0) return 0;
return x;
}
int main(void)
{
int x = 0, y = 0;
for(x = 100; x < 300; x++) y += is_prime(x);
printf("\n%d\n", y);
return 0;
}
/*运行的结果是7215*/