题目内容:
以每行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,你的题目感觉有问题啊。
代码如下:
#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;
}