问题遇到的现象和发生背景
dotcpp的习题
计算n以内的所有素数和
编写程序,计算输入的n以内的所有素数之和。
输入格式: "%d"
输出格式:"sum=%d\n"
用代码块功能插入代码,请勿粘贴截图
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int sum=0,x,i;
int flag=0; //素数为1
for(x=2;x<=n;x++)
{
flag=0;
if(x==2)
{
flag=1;
}
for(i=2;i<x;i++)
{
if(x%i==0)
{
break;
}
else if(x%i!=0)
{
flag=1;
break;
}
}
if(flag==1)
{
sum+=x;
}
}
printf("sum=%d\n",sum);
return 0;
}
运行结果及报错内容
运行错误,但不清楚为什么?
我的解答思路和尝试过的方法
调试程序的时候在n=10时该程序会把9算成素数,但我不清楚为什么,求解?
求原因。