实现求出100~999之间的全部素数,每行输出8个数,每个数宽度为4列。 输入格式:无 输出格式:“%4d“ “\n“

题目内容:

以每行8个的形式输出100-999内的质数。

输入格式:

输出格式:

每行输出8个质数(最后一行可以不到8个),每个质数的输出格式控制符为"%4d",最后一行输完后,输出一个"\n"

输入样例:

输出样例:

101 103 107 109 113 127 131 137

139 149 151 157 163 167 173 179

……

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

数宽度为5列,不能用%4d,应该是%5d,你的题目感觉有问题啊。

img

代码如下:

#include <stdio.h>
int main()
{
    int cnt = 0,i,j;
    for (i=100;i<=200;i++)
    {
        for(j=2;j<i;j++)
        {
            if(i%j == 0) break;
        }
        if(j==i)
        {
            printf("%4d",i); // 如果是5列的话,是%5d
            cnt++;
            if(cnt %8 == 0)
                printf("\n");
        }
    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
    int i,j;
    int flag;//标识某个数是不是素数
    int cnt = 0;//统计素数的个数 
    //i代表2到100之间的数 
    for(i=100;i<=200;i++){ 
        //内循环判断i是不是素数 
        flag = 0;//默认i是素数
        for(j=2;j<10;j++){
            if((i!=j) && (i % j == 0)){
                flag = 1;//表示i不是素数 
                break;
            }
        } 
        if(flag==0){ //flag=0表示i是素数 
            //每行显示10个素数
            if((cnt!=0) && (cnt % 8 ==0)){
                printf("\n");
            } 
            cnt++;
            printf("%d\t",i);
        }
    } 
    
    return 0;
}