素数和素数列表,输出没结果,求分析解答。

素数判断和素数列表的输出,不能输出答案,求分析解答。来自c语言数组。

img

img

代码太乱了,你这是要用素数表的方式写素数判断么?不需要那么多代码
重写一个给你

#include <stdio.h>

#define N 25

int main()
{
    int prime[N] = {2};
    int count = 1, num = 3;

    while (count < N)
    {
        int is_prime = 1;
        for (int i = 0; i < count; i++)
        {
            if (num % prime[i] == 0)
            {
                is_prime = 0;
                break;
            }
        }
        if (is_prime)
        {
            prime[count++] = num;
        }
        num += 2;
    }

    for (int i = 0; i < N; i++)
    {
        printf("%d ", prime[i]);
    }

    return 0;
}


截图

13行是个死循环,因为x为0,所以循环结束条件永远不成立。

你要计算素数,先了解基本规则
循环要从2开始,到i*i<=n结束,不要瞎写

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/884772
  • 你也可以参考下这篇文章:求解:C语言输出5名学生的学号、姓名和三门分数,求三科每科的平均分,为什么运行出来的结果是错误的
  • 除此之外, 这篇博客: C语言结构体的定义和用法,定义结构体,定义结构体变量,结构体变量赋初值,输出结构体变量的值中的 二、如何来定义结构体: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1、定义结构体
    格式:

    struct 结构体{
    	属性列表 
    };
    

    比如:定义一个结果体,目的是为了描述一个工人

    struct worker {
    	char id[10];
    	char name[10];
    	char sex[10];
    	int pay;	
    }
    

    2、如何来定义结构体变量

    1)上方那样定义的只是结构体的类型,并不是变量

    比如:

    int a;//其中int 是类型  而a是变量
    

    2)在C程序里面有几种类型是C已经为我们做好的,我们只要拿来使用就行了,但是结构体类型在C程序里面没有,就需要用户自己来定义。

    3)下方程序当中struct worker是定义的类型

    struct worker {
    	char id[10];
    	char name[10];
    	char sex[10];
    	int pay;	
    }
    

    在这里插入图片描述

    4)定义结构体变量有三种方式
    (a)在定义类型的时候就定义结构体变量,这样的变量就相当于全局变量。
    (b)在定义结构体类型之后,再定义结构体变量。
    (c)可以在定义结构体类型 的时候,省略结构体类型名 (一般不用)

     struct {//定义结构体类型 
    	char id[10];//定义工号
    	char name[10];//定义姓名
    	char sex[10];//定义性别
    	int pay;//定义基本工资
    },wi,w2;//此处的分号不能少
    

    (d)可以通过typedfed这个关键字,为结构体变量取别名别名一般用大写

    在这里插入图片描述