编程论坛
注册
登录
编程论坛
→
C语言论坛
万能的朋友们,请帮我解答一下这道编程题
JY891
发布于 2020-03-20 22:34, 2429 次点击
从键盘上输入n的值,计算100~n之间的所有素数和。 提示 累加
输入
输入只有一组,即在一行上输入n的值,n必须是大于100小于10000的整数。
输出
输出100~n之间的所有素数之和。
6 回复
#2
JY891
2020-03-20 22:37
#include<stdio.h>
int main()
{
int i,j,n,s=0;
bool flag;
scanf("%d",&n);
flag=true;
for(j=100;j<=n;j++)
{
for(i=2;i<n;i++)
{ if(j%i==0)
{
flag=false;
break;
}
}
if(flag=true)
s+=j;
} printf("%d",s);
}
不知道这个程序错在哪里
#3
forever74
2020-03-20 23:10
执行完flag=false以后flag就一直是false
o
下边判断的时候应该两个等号只敲了1个,这时它错误地变成了true
[此贴子已经被作者于2020-3-20 23:12编辑过]
#4
万致远醉帥
2020-03-24 12:56
做一个素数的函数
#5
maomao12345
2020-03-24 14:07
flag=true应该为flag==ture
或者做一个函数“sushu”,每一个数都使用一次这个函数,这个函数最好用bool类型的。
#6
return_0
2020-03-25 19:41
程序代码:
include<stdio.h>
int
main()
{
int
i,j,n,s=
0
;
bool
flag;
scanf(
"
%d
"
,&n);
flag=
true
;
for
(j=
100
;j<=n;j++)
{
for
(i=
2
;i<n;i++)
{
if
(j%i==
0
)
{
flag=
false
;
break
;
}
}
if
(flag=
true
)
s+=j;
flag=
false
;
//
这一步要更新一下flag,否则他将永远是true
} printf(
"
%d
"
,s);
}
#7
wmf2014
2020-03-25 20:57
大于5的素数只分布在6n两边,这样可以提高计算速度。
1