huangze1002 发表于 2020-5-27 11:19:25

这是一个求1-100间所有的素数程序,不知道为什么运行不出结果!求解!!!

#include <stdio.h>

int main()
{

        int i , x,t=0;
        for(x=2;x<=100;x++){
        for(i=2;i<x;i++){
        if(x%i==0){
    t = 1;
        break;
}
}
}
        if(t==0)
    printf("%d",x);
        return 0;
}

永恒的蓝色梦想 发表于 2020-5-27 11:23:05

这格式,又想让我吐?

永恒的蓝色梦想 发表于 2020-5-27 11:25:48

改成#include <stdio.h>

int main(){
    int i,x;
   
    for(x=2;x<=100;x++){
      for(i=2;i<x;i++){
            if(x%i==0){
                printf("%d",x);
                break;
            }
      }
    }

    return 0;
}你的代码每次循环之后没有重新对 t 赋值

huangze1002 发表于 2020-5-27 11:29:29

永恒的蓝色梦想 发表于 2020-5-27 11:23
这格式,又想让我吐?

为什么会吐?

永恒的蓝色梦想 发表于 2020-5-27 11:31:12

huangze1002 发表于 2020-5-27 11:29
为什么会吐?

你的格式太垃圾,缩进乱七八糟

huangze1002 发表于 2020-5-27 11:31:51

永恒的蓝色梦想 发表于 2020-5-27 11:25
改成你的代码每次循环之后没有重新对 t 赋值

如果我把t放在循环里面呢?可是不是满足c99的标准的编译器说我未定义变量。

永恒的蓝色梦想 发表于 2020-5-27 11:33:50

huangze1002 发表于 2020-5-27 11:31
如果我把t放在循环里面呢?可是不是满足c99的标准的编译器说我未定义变量。

改成:#include <stdio.h>

int main(){
    int i,x,t;
   
    for(x=2;x<=100;x++){
      t=0;
      for(i=2;i<x;i++){
            if(x%i==0){
                t=1;
                break;
            }
      }

      if(t==0){
            printf("%d",x);
      }
    }

    return 0;
}不支持C99的编译器直接扔了就好
页: [1]
查看完整版本: 这是一个求1-100间所有的素数程序,不知道为什么运行不出结果!求解!!!