| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 569 人关注过本帖
标题:高手看看,这个程序怎么无法执行啊!
只看楼主 加入收藏
梁慧强
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2012-12-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
高手看看,这个程序怎么无法执行啊!

include<stdio .h>
 main()
     {
       int m,j,k;
       k=0;
       printf("input m:");
       scanf("%d\n",&m);


         for(j=1;j<=m;j++)
         {if(m%j==0)
          k++;}

          if(k==2)

         printf("yes");
       else
         printf("no");
       getch();
     }这个程序是 判断 m 是否为素数


[ 本帖最后由 梁慧强 于 2012-12-24 21:36 编辑 ]
搜索更多相关主题的帖子: include 
2012-12-24 13:00
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:5 
一,没有头文件,很多函数的调用是要头文件的;
二,输入函数有问题,把转义字符也输入吗?
三,for语句的循环有问题,for语句的格式是执行一条语句,如果要多条语句,那么需要改成复合语句,也就是加上大括号

我了个去的编程!
2012-12-24 13:10
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:0 
补充一点,j=0是不能作除数的

我了个去的编程!
2012-12-24 13:14
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:5 
看来我来晚了,楼上正解,我弄了半天才发现

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-24 13:18
梁慧强
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2012-12-22
收藏
得分:0 
回复 2楼 wkz2012
  这个程序显示编译成功 然后输入一个值以后  就没反应了  似乎就不执行那个for循环
2012-12-24 21:33
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:5 
#include<stdio.h>
int main()
     {
       int m,j,k;
       k=0;
       printf("input m:");
       scanf("%d",&m);
        for(j=1;j<m;j++)
          {if(m%j==0)
            printf("%d是素数\n",m);
           if(m==2)
            printf("m是素数");
         }
    return 0;
     }
看清楚我修改的代码和你有什么不同就知道了,把那个else语句删掉,因为你如果输入一个m不是2的话,运行后的结果就会出现m次“no”,因为你输入的不是2,然后编译器会自动打印m次“no”

思考赐予新生,时间在于定义
2012-12-24 21:34
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
还有什么不懂的吗?一般来说,我们初学者还是习惯写上#include<stdio.h>和int main(),不然很多时候编译器虽然没报错,但却运行不出想要的结果的

思考赐予新生,时间在于定义
2012-12-24 21:36
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
程序代码:
  main()
     {
       int m,j,k;
       k=0;
       printf("input m:");
       scanf("%d",&m);/*这里没有\n*/


         for(j=1;j<=m;j++)/*这里1开始*/
         if(m%j==0)
          k++;

          if(k==2)

         printf("yes");
       else
         printf("no");
       getch();          }
没有啊,很好啊楼主再试试看

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-24 21:38
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
看来我迟到了啊,飘过吧

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-24 21:39
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
以下是引用yaobao在2012-12-24 21:38:48的发言:

  main()
     {
       int m,j,k;
       k=0;
       printf("input m:");
       scanf("%d",&m);/*这里没有\n*/


         for(j=1;j<=m;j++)/*这里1开始*/
         if(m%j==0)
          k++;

          if(k==2)

         printf("yes");
       else
         printf("no");
       getch();          }没有啊,很好啊楼主再试试看

这里没有头文件,没有int main(),还多了getch();getch()是控制台无回显字符输入函数,getch()是一个函数哎,它用于从控制台输入一个字符,并且输入时屏幕不显示输入的字符

思考赐予新生,时间在于定义
2012-12-24 21:46
快速回复:高手看看,这个程序怎么无法执行啊!
数据加载中...
 
   



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

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