永发信息网

关于c语言2-100素数的输出

答案:2  悬赏:40  手机版
解决时间 2021-03-12 06:28
  • 提问者网友:寂寞梧桐
  • 2021-03-11 19:51
#include
int pansushu(int i);
int main()
{
int i=25;
printf("2 is a prime\n");
//for(i=3;i<101;i++)
//{
pansushu(i);
if(pansushu(i)==0)
{
printf("%d is not a prime\n",i);
}
if(pansushu(i)==1)
{
printf("%d is a prime\n",i);
}
//}
return 0;
}
int pansushu(int i)
{
int a,flag;
for(a=2;a {
if(i%a==0)
{
printf("%d",i%a);
flag=0;
break;
}
else
{
printf("%d",i%a);
flag=1;
break;
}
}
return flag;
}
为什么这个程序会在后面多出一个0,然后printf输出那么少东西,还有为什么25在这个程序中是素数?
最佳答案
  • 五星知识达人网友:西岸风
  • 2021-03-11 20:39
#include
int pansushu(int i);
int main()
{
int i=25;
printf("2 is a prime\n");
//for(i=3;i<101;i++)
//{
//pansushu(i);
if(pansushu(i)==0)
{
printf("%d is not a prime\n",i);
}
else
{
printf("%d is a prime\n",i);
}
    //}
    return 0;
}
int pansushu(int i)
{
    int a,flag=1; //给个初值1
    for(a=2;a     {
if(i%a==0)
{
//printf("%d",i%a);
flag=0; //有因数置为0,结束
break;
}
    }
//要全检查完,不能检查一个不是,就置为1
    return flag; //返回相应的标志
}
全部回答
  • 1楼网友:上分大魔王
  • 2021-03-11 21:49
错误很多,比如定义语句下面的a[i]=i;i的值都不确定,赋值语句没意义。 line==0;也没意义,建议好好看书本,模仿书本敲程序。 ==============刚写的,在数组中通过下标保存素数,简洁明了========================= #include<stdio.h> #include<string.h> void main() { int a[105],i,j,tot; memset(a,0,sizeof(a)); for(i=2;i<=100;i++) for(j=i+i;j<=100;j+=i) a[j]=1; for(i=2;i<=100;i++) if(a[i]!=1) { printf("%5d ",i);tot++; if(tot%5==0) printf("\n"); } } ================又帮你写了个=================================== ================这个是通过函数调用判断素数的,没换行,那个你可以自己弄================ #include<stdio.h> #include<math.h> int prime(int n) { int i; for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0; return 1; } void main() { int n,i; for(i=2;i<=100;i++) if(prime(i)==1) printf("%5d",i); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯