定义一个函数实现用筛选法输出100内所有素数 还有错误改不过来了 大佬捞捞

定义一个函数实现用筛选法输出100内所有素数 还有错误改不过来了 大佬捞捞

代码如下,请采纳,谢谢。

nclude <stdio.h>

//求nn以内的素数
int* sushu(int nn)
{
    
    int* buf = new int[nn];
    
    
    //0和1不是素数,所以直接从2开始
    int index = 0;
    for (int i = 2; i < nn ; i++)
    {
        bool b = true;
        for (int j = 2;j < i;j++)
        {
            if (i % j == 0)
            {
                b = false;
            }
        }
        if (b)
        {
            buf[index] = i;
            index++;
        }
    }
    buf[index] = 0;
    return buf;
}


int main()
{
    int *buf = sushu(100);
    for (int i = 0; i < 100; i++)
    {
        if (buf[i] != 0)
        {
            printf("%d ",buf[i]);
        }else
            break;
    }
    delete[] buf;
    buf = 0;
    getchar();
    getchar();
}

#include<iostream>
using namespace std;
void shusu(int num);
void main()
{
	int num;
    scanf("%d",&num);
    shusu(num);
}
void shusu(int num)
{
    int i;
	for(i=1;i<=num;i++){
		bool flag=true;
		for(int j=2;j<i;j++){
			if(i%j==0){
				flag=false;
				break;
			}
		}
		if(flag==true)
		cout<<i<<" ";
	}
}

 

你这main和shusu函数有一毛钱关系没?