一道C语言编程题
题目是求2~100以内所有的素数,并保存在数组a。刚入门打得输出不一样,望赐教~#include<stdio.h>#include<math.h>intmain(void...
题目是求2~100以内所有的素数,并保存在数组a。刚入门打得输出不一样,望赐教~
#include <stdio.h>
#include <math.h>
int main(void)
{
int i,n,a[100],k=0;
for(i=2;i<=100;i++)
{
for(n=2;n<=(int)sqrt(i);n++)
if(i%n==0) break;
else a[k++]=i;
printf("%d\n",i);
}
return 0;
} 展开
#include <stdio.h>
#include <math.h>
int main(void)
{
int i,n,a[100],k=0;
for(i=2;i<=100;i++)
{
for(n=2;n<=(int)sqrt(i);n++)
if(i%n==0) break;
else a[k++]=i;
printf("%d\n",i);
}
return 0;
} 展开
2个回答
展开全部
#include <stdio.h>
#include <math.h>
int main(void)
{
int i,n,a[100],k=0;
for(i=2;i<=100;i++)
{
for(n=2;n<=(int)sqrt(i);n++)
if(i%n==0) break;
if(n>(int)sqrt(i))a[k++]=i;//循环后 再赋值a[k++], 其实在这里a[k++]没有作用. 要起作用,下面可以修改为
}
for(i = 0; i < k; i ++)
printf("%d ", a[i]);
return 0;
}
其实可以不用数组的
#include <stdio.h>
#include <math.h>
int main(void)
{
int i,n;
for(i=2;i<=100;i++)
{
for(n=2;n<=(int)sqrt(i);n++)
if(i%n==0) break;
if(n>(int)sqrt(i))
printf("%d\n",i);
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询