C语言求素数和的问题
如图,这是题目#include <stdio.h>
int main()
{
int number;
int i,k,sign;
int m,n;
sign=0;
scanf("%d,%d",&m,&n);
for(i=2;0<i<=500;i++){
int isprime;
for(k=2;k<i;k++){
isprime=1;
if(i%k!=0){
isprime=1;
}else{
isprime=0;
break;//判断是否为素数
}
}while(isprime==1){
scanf("%d",&i);
sign++;
number=i;//将素数输入到数组中
}
}
int count,sum;
for(sum=0,count==n;count<=m;count++){
sum=sum+number;//计算m,n之间的素数和
}printf("%d",sum);
}
为什么输入数字后没反应?请各位指教 把第一个scanf中的引号内容的逗号去掉
scanf("%d%d",&m,&n);
BngThea 发表于 2017-11-4 16:58
把第一个scanf中的引号内容的逗号去掉
scanf("%d%d",&m,&n);
还是不行啊? 人形UMP9 发表于 2017-11-4 23:08
还是不行啊?
槽点太多了,不一一列举了
根据你的思路简单写了一个,你对照了查看一下自己的问题
#include<stdio.h>
int main(void)
{
int number = {2};
int i, k, sign;
int m, n;
sign = 1;
for(i = 3; i <= 500; i++)//求0~500之间的所有素数
{
for(k = 2; k < i; k++)
{
if(i % k == 0)
{
break;
}
else if(k == i - 1)//如果k达到最大,都没有被整除,那么说明是素数
{
number=i;//将素数输入到数组中
sign++;
}
}
}
scanf("%d%d", &n, &m);
int count,sum = 0;
for(count = n - 1; count < m; count++)
{
sum += number;//计算m,n之间的素数和
}
printf("%d\n",sum);
return 0;
}
BngThea 发表于 2017-11-5 07:45
槽点太多了,不一一列举了
根据你的思路简单写了一个,你对照了查看一下自己的问题
这个问题如果不用数组能不能解决? 人形UMP9 发表于 2017-11-6 12:10
这个问题如果不用数组能不能解决?
用指针也行 BngThea 发表于 2017-11-6 12:18
用指针也行
break是会跳出所有的循环码? BngThea 发表于 2017-11-6 12:18
用指针也行
如果把程序中的break去掉会发生什么? 人形UMP9 发表于 2017-11-6 13:26
如果把程序中的break去掉会发生什么?
只退出当前循环
删了也可以 BngThea 发表于 2017-11-6 13:35
只退出当前循环
删了也可以
只是退出for(k = 2; k < i; k++)这个循环码? 人形UMP9 发表于 2017-11-6 23:32
只是退出for(k = 2; k < i; k++)这个循环码?
对的
页:
[1]