【例5-7】利用函数求100以内的全部素数,每行输出10个数。要求定义和调用函数prime(n),判断n是否为素数。 【输入输出样例】   【样例说明】 每个素数按%6d格式输出。

【例5-7】利用函数求100以内的全部素数,每行输出10个数。要求定义和调用函数prime(n),判断n是否为素数。
【输入输出样例】

img

 
【样例说明】
每个素数按%6d格式输出。

/利用函数求100以内的全部素数,
每行输出10个数。
要求定义和调用函数prime(n),
判断n是否为素数。
/
#include
int prime(int n);//函数声明
int main()
{
    /*int j,i;
    for(j=2;j<=100;j++){
        printf("%6d",prime(j));
    }*/
    int i,result;
    int flag=0;//素数个数
    for(i=2;i<100;i++){
        result=prime(i);//函数调用
        if(result==1){//如果是素数
            flag++;
            if(flag%10==0){//十个一行
                printf("\n");
            }
            else printf("%6d",i);
        }
    }
    return 0;
}
int prime(int n)//函数定义
{
    int i;
    int result=1;//如果是素数结果为1
    if(n>2){
        for(i=n-1;i>1;i--){
            if(n%i==0){
                result=0;break;
            }
        }
    }
    return result;
}


#include <stdio.h>
#include <math.h>
int prime(int n)
{
    int k,i;
    k=sqrt(n);
    for(i=2; i<=k; i++) {
        if(n%i==0) {
            return 0;
        }
    }
    return 1;
}
int main()
{
    int m,i,a=0;
    int k;
    printf("1到100之间所有的素数为:\n");
    for(m=2; m<=100; m++)
    {
        if(prime(m))
        {
            printf("%6d",m);
            a++;
            if(a%10==0)
                printf("\n");
        }

    }
}

img

你的问题是啥?看样子代码逻辑没问题啊!

我的这篇文章可能对你有帮助

https://blog.csdn.net/apple_53792700/article/details/127575792?spm=1001.2014.3001.5502

我认真的阅读了你的问题并给出了如下的代码。

#include <stdio.h>
#include <math.h>

bool prime( int x );

int main(){
    // 一个计数变量
    int flag = 1;
    // m从2开始一直到100
    for( int m = 2 ; m <=100 ; m++  ){
        //如果m是质素
        if( prime(m) ){
            // 打印m
            printf("%6d",m);
            if( flag % 10 == 0 ){
                // 如果 flag 除以 10 余数是 0 就打印换行符
                printf("\n");
            }
            // flag = flag + 1;
            flag++;
        }
    }
}

bool prime(int x ){
    // 遍历除 1 以外所有比自己小的整数
    int sq = sqrt(x);
    for( int i = 2 ; i <= sq; i++ ){
        if( x%i == 0 ){
            // 如果 x 可以被 i 整除 那么就返回的 假 代表这个数不是素数
            return false;
        } else { /* 如果不能被 i 整除就继续遍历 */ }
    }
    // 如果除 1 以外所有比自己小的整数都不能被整除,那么他就是素数
    if( x <= 1 ){
        return false;
    } else {
        return true;
    }
}

$$\color{red}{有帮助的话望采纳}$$