| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1842 人关注过本帖
标题:初学者问的小白问题,莫喷
只看楼主 加入收藏
whpiece
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-2-17
收藏
 问题点数:0 回复次数:5 
初学者问的小白问题,莫喷
#include<stdio.h>
int main()
{
    int num,i,n;
    printf("请输入数据:");
    scanf("%d",&num);
    for(i=2;i<num;i++)
    {
    if(num%i==0)
      {   
     n=0;
     break;
   
      }     
    n=1;   
    }
    if(n==1)
     printf("此数为素数。%d\n");
    else
     printf("此数不是素数。%d\n");    //在 \n前面加%d,输出字样就会2424484.
    return 0;
}


我初学,有能指教下的么?
搜索更多相关主题的帖子: include 
2016-02-17 15:54
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
那些数字是垃圾值,得这样:
程序代码:
if(n==1)
  printf("此数为素数。%d\n",num);
else
  printf("此数不是素数。%d\n",num);  

 

2016-02-17 16:44
whpiece
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-2-17
收藏
得分:0 
回复 2楼 hjx1120
谢谢
2016-02-17 16:54
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
回复 3楼 whpiece
要判断素数,我看到过一个可以进一步避免冗余运算的法。
把你的for(i=2;i<num;i++)条件改为for(i=2;i<sqrt(num);i++),少一大半运算量,结果是一样的。
也提议把n改成布尔型,直接赋给它true或false,用if(n)来做条件判断,虽然实质一样,但感觉代码可读性强一些
2016-02-18 09:28
whpiece
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-2-17
收藏
得分:0 
回复 4楼 yangfrancis
额…………你说的有点专业了,我刚开始学,虽然现在还看不懂,不过谢谢了 ,慢慢我就懂了
2016-02-18 22:11
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
回复 5楼 whpiece
一点也不专业,那个sqrt()无非是取平方根,在<math.h>头文件里面。
2016-02-18 22:15
快速回复:初学者问的小白问题,莫喷
数据加载中...
 
   



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

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