c语言编程求100到200之间的素数,每行输出6个数

如题所述

#include <stdio.h>
#include <math.h>
int ss(int n) /*检查n是否为素数,如果是则返回1,否则返回0*/
{
int i;
for (i=2; i<=(int)sqrt((double)n); i++)
if (n%i==0) return 0;
return 1;
}
int main(void)
{
int i,j=0;
for (i=100; i<=200; i++)
if(ss(i))
{
j++;
printf("%5d",i);
if (j%6==0) printf("\n");
}
printf("\ntotal prime=%d\n",j);
return 0;
}

//运行情况:
101 103 107 109 113 127
131 137 139 149 151 157
163 167 173 179 181 191
193 197 199
total prime=21
请按任意键继续. . .
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-28
void main(){
int n,i,count=0;
for(n=100;n<=200;n++){
for(i=100;i<n;i++)
if(n%i==0) break;
if(i>=n)
{
printf("\t%d",n);
count++;
if(count=6)
{
printf("\n");
count=0;
}
}
}
}
第2个回答  2011-11-28
#include <stdio.h>
int isp(int n){
int i=2;
for(i=2;i<n/2;i++)
if(n%i==0)
break;
if(i==n/2)
return 1;
else
return 0;
}
int main(){
int i,j=0;
for(i=100;i<201;i++)
if(isp(i)){
printf("%d\n",i);
j++;}
if(j%6==0)
printf("\n");
}
第3个回答  2018-03-14
#include <stdio.h>
#include <math.h>
int ss(int n)            /*检查n是否为素数,如果是则返回1,否则返回0*/
{
int i;
for (i=2; i<=(int)sqrt((double)n); i++)
if (n%i==0) return 0;
return 1;
}
int main(void)
{
int i,j=0;
for (i=100; i<=200; i++)
if(ss(i))
{
j++;
printf("%5d",i);
if (j%6==0) printf("\n");
}
printf("\ntotal prime=%d\n",j);
return 0;
}
101  103  107  109  113  127
131  137  139  149  151  157
163  167  173  179  181  191
193  197  199
total prime=21
Press any key to continue