C##初学者 求大神帮忙解决一下Id returned 1exid status

新人没有C币请见谅 帮助之恩择日再还
题目:

题目内容:

我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。

现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

注意:是第n个素数到第m个素数,不是n和m之间的素数!

输入格式:

两个正整数,第一个表示n,第二个表示m。

输出格式:

一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入样例:

2 4

输出样例:

15

时间限制:500ms内存限制:32000kb

这是一道在mooc上的练习题
我做的是:
#include
int main ()
{
int m,n,i;
int x=2;
int sub=0;
int cnt=0;
int subm,subn;
scanf ("%d d",&m,&n);
do{
int ture=1;
for(i=2;i<x;i++){
if(x%i==0){
ture=0;
break;
}
}
if(ture){
sub+=x;
if(cnt+1==n){
subm=sub;
}
cnt++;
}
x++;
}while(cnt!=n);
subn=sub;
printf("%d",subn-subm);
return 0;
}
用的编译器是devc++ 一直提示Id returned 1exid status,无法编译;
然后用CFREE试了一下,可以编译,但是输入m和n两个数据后,一直没有输出;
我想了半天没有想到原因,求大神帮忙,不胜感激
图片说明

2个回答

i是2 i<2就可以循环 那不得死循环呀 3以上的数都大于2 取余就是2的倍数都可以 2的倍数很多耶

1、有c++或cpp(p为plus缩写即"+").有c#没有c##
2、我这个程序是在c++运行的,c#我有但是我还不习惯。
3、scanf ("%d d",&m,&n);//少了一个%
4、true这个变量看起来有点多余;如果要用建议bool IsPrimeNumber(是否为质数)初始化false。
5、我不习惯do-while,所以改成了for(i)for(j)循环嵌套。

 #include "stdio.h"
int main ()
{
int m,n; 
int subm=0,subn=0,cnt=0;
int i,j;
scanf ("%d %d",&m,&n);

if(m>200||n>200)
printf("请输入200以内的整数");
else
{
for(i=2;i<=n;i++)
    {   cnt=0;
        for(j=2;j<i-1;j++)
        {
            if(i%j==0)
                cnt++;
        }
        if(cnt==0&&i<m)
            subm+=i;
        if(cnt==0)
        subn+=i;
    }

}
printf("%d",subn-subm);
return 0;
}
qq_27976105
qq_27976105 9、如果m>n的话,printf("%d",abs(subn-subm));取绝对值。想在for外面加if(m<n)但是没改的好。
大约 3 年之前 回复
qq_27976105
qq_27976105 8、时间限制:500ms内存限制:32000kb。亲能为我科普一下?
大约 3 年之前 回复
qq_27976105
qq_27976105 7、之前看c#的时候建立的是c# Project。头using SYSTEM.成员。输出语句用的console(“{0}{1}”,subm,subn);这个printf不要#include “stdio.h”?
大约 3 年之前 回复
qq_27976105
qq_27976105 6、vc6.0变量的生存周期和vs2010不太一样。在2010的话我会写成for(int i=2;i<n;i++)在循环结束后变量销毁,所以i,j后来放到了第3行声明。
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问