C语言新手问题

smile恶魔是我 2012-10-21 04:02:47
书上求素数的一个程序
请大家帮我看一下有什么错,我输入一个素数就能正确显示,但输入一个非素数就无法显示
程序如下:
#include<stdio.h>
int main()
{
int n,i,s;
i=2,s=0;
scanf("%d",&n);
while(i<=n-1)
{if(n%i==0)s=1;
else i=i+1;
}
if(s==1)printf("%d不是素数",n);
else printf("%d是素数",n);
getch();
return 0;
}
...全文
116 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
山雨楼 2012-10-21
  • 打赏
  • 举报
回复

#include<stdio.h>
int sushu(int m)
{
int i,t=1,k;
if((m==2)||(m==3))
return t;
k=m/2;
for(i=2;i<=k;i++)
if((m%i)==0)
{
t=0;
break;
}
return t;
}
main()
{
int n;
scanf("%d",&n);
if( sushu(n)==0)
printf("这个数是素数\n");
else if(sushu(n)==1)
printf("这个数不是素数\n");
}
smile恶魔是我 2012-10-21
  • 打赏
  • 举报
回复
我是大一的学生,刚学C语言,这个程序是我自己写的,我已经找到原因,谢谢各位,请问初学C语言应该看什么书?做什么习题?我的专业是嵌入式开发的
newtee 2012-10-21
  • 打赏
  • 举报
回复
加个break 不然死循环了
newtee 2012-10-21
  • 打赏
  • 举报
回复
#include<stdio.h>
int main()
{
int n,i,s;
i=2,s=0;
scanf("%d",&n);
while(i<=n-1)
{if(n%i==0)
{
s=1;
break;
}
else i=i+1;
}
if(s==1)printf("%d不是素数",n);
else printf("%d是素数",n);
getch();
return 0;
}
JiMoKuangXiangQu 2012-10-21
  • 打赏
  • 举报
回复
可以看看
The C Programming Language
C Primer Plus
JiMoKuangXiangQu 2012-10-21
  • 打赏
  • 举报
回复
if(n%i==0)s=1;
-->
if (n%i == 0) {
s=1; break;
}


谁写的书,趁早别看了,浪费你的时间.

69,369

社区成员

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

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