| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 690 人关注过本帖
标题:我的程序有什么问题?求素数
只看楼主 加入收藏
alonefire
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-2-21
收藏
 问题点数:0 回复次数:6 
我的程序有什么问题?求素数
/* Note:Your choice is C IDE */
#include "stdio.h"
main()
{
int m,n,k,a;
scanf("%d",&m);
k=sqrt(m);
for(n=2;n<=k;++n)
{if(m%n==0){a=1;break;}
else a=0;}
if(a=1) printf("NO");
if(a=0) printf("YES");
}
搜索更多相关主题的帖子: 素数 
2006-02-23 14:02
summerpopoha
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-2-23
收藏
得分:0 
/* Note:Your choice is C IDE */
#include "math.h"
main()
{
int m,n,k,a;
scanf("%d",&m);
k=sqrt(m);
for(n=2;n<=k;++n)
{if(m%n==0){a=1;break;}
else a=0;}
if(a==1) printf("NO");
if(a==0) printf("YES");
}

2006-02-23 14:08
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用alonefire在2006-2-23 14:02:00的发言:
/* Note:Your choice is C IDE */
#include "stdio.h"
main()
{
int m,n,k,a;
scanf("%d",&m);
k=sqrt(m);//我不太知道 sqrt() 函数 的结果 带不带小数.反正没用.因为程序小.不会太占地方的,而且 思路清晰//
for(n=2;n<=k;++n)//我用 ++n 没试你的对错 应该是错的吧 //
{if(m%n==0){a=1;break;}//这里的 {} 完全没用 我指的是 fi 前面的 和 a=0后面的 //
else a=0;}
if(a=1) printf("NO");//这不应该是 a=1 吧 应该是 a==1//
if(a=0) printf("YES");
}

错误百出.太马虎了你
main()
{
int m,n,k,a;
scanf("%d",&m);
for(n=2;n<m;n++)
if(m%n==0){a=1;break;}
else a=0;
if(a==1) printf("NO");
else printf("YES");
getch();
}

去试试 我用的是 WINTC

[此贴子已经被作者于2006-2-23 14:20:32编辑过]


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-02-23 14:13
alonefire
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-2-21
收藏
得分:0 
2楼的对了
改了个include就好了

2006-02-23 14:28
alonefire
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-2-21
收藏
得分:0 
不好意思 本人初学 多多包涵

2006-02-23 14:29
栀子花开
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-2-23
收藏
得分:0 

2楼的回答基本正确了,但是我觉得还存在一个问题。
变量a没有初始值,如果m输入的数字不对,则会出现错误。


2006-02-23 16:25
khhily
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-2-20
收藏
得分:0 
以下是引用summerpopoha在2006-2-23 14:08:00的发言:
/* Note:Your choice is C IDE */
#include "math.h"
main()
{
int m,n,k,a;
scanf("%d",&m);
k=sqrt(m);
for(n=2;n<=k;++n)
{if(m%n==0){a=1;break;}
else a=0;}
if(a==1) printf("NO");
if(a==0) printf("YES");
}
给a赋个初值0,那个else就不用了

2006-02-23 17:00
快速回复:我的程序有什么问题?求素数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040170 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved