| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 405 人关注过本帖
标题:关于素数的问题(问题在第 19 行):
取消只看楼主 加入收藏
Oscar_tam
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2014-4-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
关于素数的问题(问题在第 19 行):
/*1*/    #include<stdio.h>

/*2*/    int main(void)
/*3*/    {
/*4*/    int num;//输入的整数
/*5*/    int isprime;//素数的标志
/*6*/    int div;//可能的约数
/*7*/    printf("please enter a number to analyze:q to quit\n");
   
/*8*/    while(scanf("%d",&num)==1)
/*9*/    {
/*10*/      for(div=2,isprime=1;(div*div)<=num;div++)//for循环开始的时候isprime等于1,观察一下for结束的时候是不是仍然等于1。
      
/*11*/        {
/*12*/          if(num%div==0)//如果输入的数是素数,则不会进入if语句。
         
/*13*/              if(div*div!=num)
/*14*/              printf("%d能被%d和%d整除\n",num,div,num/div);
/*15*/              else
/*16*/              printf("%d能被%d整除\n",num,div);
/*17*/              isprime=0;//在for循环里面设置一个相反的值
         
/*18*/        }     
/*19*/              printf("此时isprime的值是%d\n",isprime);//打印isprime的值。想知道输入的数有没有进入过for循环/n
                                              //结果无论输入素数还是非素数,isprime的值都是for循环里面的值(此处为0)。为什么????????


/*20*/             if(isprime==0)
/*21*/                 printf("你输入的%d不是素数。\n",num);
/*22*/             else
/*23*/              printf("你输入的%d是素数。\n",num);
            
/*24*/       printf("please enter a number to analyze:q to quit\n");
/*25*/   }
/*26*/   printf("\n");
/*27*/   return 0;

/*28*/   }
搜索更多相关主题的帖子: include please number 
2014-06-29 10:16
Oscar_tam
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2014-4-27
收藏
得分:0 
回复 2 楼 砖家的谎言
好像明白了,意思是我把isprime=0;放到for循环里了吗?
2014-06-29 14:34
Oscar_tam
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2014-4-27
收藏
得分:0 
回复 3 楼 vvvcuu
感谢您这么详细的解答!只要在12行至17行加对大括号让isprime=0;基于第一个if语句内执行就好了是吗?
2014-06-29 14:46
快速回复:关于素数的问题(问题在第 19 行):
数据加载中...
 
   



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

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