#include<stdio.h>
#include<math.h>
int main()
{ int i,j,k,n=0,m=0;
int a[]={1};
for(i=100;i<=300;i++){
for(j=2;j<=sqrt(i);j++){
if(i%j==0)
break;
}
if(i%j!=0){
a[m++]=i;
//printf("%d\n",i);
//printf("%d\n",a[m]);
}//printf("%d\n",a[m]);
}for(n=0;n=10;n++){
printf("%d\n",a[n]);
}
}
首先a数组要指定大小,你现在这么写相当于数组大小是1。
其次数组的初始值如果是1的话,需要用循环给每个元素赋值为1
最后的输出循环条件n=10是错误的,应该是n<m
参考一下:
int main()
{
int i,j,k,n=0,m=0;
int a[1000]={0};
for(i=100;i<=300;i++)
{
for(j=2;j<=sqrt(i*1.0);j++)
{
if(i%j==0)
break;
}
if(j>sqrt(i*1.0))
{
a[m++]=i;
}
}for(n=0;n<m;n++)
{
printf("%d\n",a[n]);
}
return 0;
}