请GGJJ们给看一下,谢谢!

xiaoniaogaofei 2004-09-21 03:41:27
有一道作业题:输入一个数,判断这个数是否是素数。
本人写的程序如下:
main()
{int a,b,m;
scanf("%d",b);
m=b/a;
for(a=2;a<b;a++)
if(b/a==0)
printf("%d is not a prime muber\n",m);
else
printf("%d is a prime muber\n",m);
}
可是我用TC自检了,提示我说可能在b定义以前使用了它在函数
请问这是什么意思呢?应该怎么解决呢?
还烦请GGJJ们给看看那里有错误啊!小鸟在这里先谢了!
...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifan5748 2004-09-21
  • 打赏
  • 举报
回复
晕,楼主的程序十分诡异深奥,我咋看也看不懂。
自己写了一个判断素数的程序

#include<stdio.h>
main()
{int a,b,flag=0;
scanf("%d",&b);
for(a=2;a<b;a++)
if(b%a==0)
{ printf("%d is a prime muber\n",b);
flag=1; break;
}
if(flag==0) printf("%d is a not prime muber\n",b);
getch();
}
succeedz 2004-09-21
  • 打赏
  • 举报
回复
main()
{int a,b,m;
scanf("%d",b);
m=b/a; // 这里a没有值!!!
for(a=2;a<b;a++)
if(b/a==0)
printf("%d is not a prime muber\n",m);
else
printf("%d is a prime muber\n",m);
}

给你个代码:
#include <iostream.h>

void main()
{ int b,flag=0;
cin>>b;
for(int a=2;a<b;a++)
if(b%a==0) {cout<<b<<"is not a prime muber"<<endl;return;}
else flag=1;
if(flag)
cout<<b<<"is not a prime muber"<<endl;
}
GaryGuo2017 2004-09-21
  • 打赏
  • 举报
回复
scanf("%d",b)----应是&b
GaryGuo2017 2004-09-21
  • 打赏
  • 举报
回复
main()
{int a,b,m;
scanf("%d",&b);
m=b/a;
for(a=2;a<b;a++)
if(b/a==0)
printf("%d is not a prime muber\n",m);
else
printf("%d is a prime muber\n",m);
}


lindex 2004-09-21
  • 打赏
  • 举报
回复
main()
{int a,b,m;
scanf("%d",&b);//注意scanf的原型
m=b/a;
for(a=2;a<b;a++)
if(b/a==0)
printf("%d is not a prime muber\n",m);
else
printf("%d is a prime muber\n",m);
}
248406869 2004-09-21
  • 打赏
  • 举报
回复
scanf("%d",&b);
a没初始化。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧