| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2883 人关注过本帖
标题:刚接触C语言,这里有个问题不明白,希望能有前辈为我解答,感谢!!
只看楼主 加入收藏
新手阿晨
Rank: 1
来 自:斗气大陆
等 级:新手上路
帖 子:8
专家分:0
注 册:2019-4-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:14 
刚接触C语言,这里有个问题不明白,希望能有前辈为我解答,感谢!!
刚接触C语言的循环结构 总想把for格式的改写成while格式的
下面是自己编的判断一个数是不是素数的程序
#include<stdio.h>
main()
{                                              想把它改写成while格式的         #include<stdio.h>
                                                                               main()
  int a,n,w=1;                                                                 {
  scanf("%d",&n)                                                                   int a,b,w=1;
   a=2;                                                                            scanf("%d",&n);                                                                                 
  for(a=2;a<n;a++)                                                                 a=2;
  {                                                                                while(a<n)
      if(n%a==0)                                                                   {
      {                                                                                if(n%a==0)
         w=0;                                                                          {
         break;                                                                           w=0;
       }                                                                                  break;
   }                                                                                    }
   if(w==0)printf("此数不是素数");                                                      else
   else                                                                                 {
   {                                                                                      a++;
       printf("此数是素数");                                                             }
    }                                                                               }
}                                                                                   if(w==0)printf("此数不是素数")    ~~~~
                                                                                    
                                                                                      这第二个有运行之后的窗口 但是输入N后  没有结果了  我想知道哪里出错了
搜索更多相关主题的帖子: C语言 格式 while 素数 printf 
2019-04-02 16:12
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
总想把for格式的改写成while格式
总想将“好的”改为“差的”,是一种破坏欲,应当算是心理疾病了吧^_^

这第二个有运行之后的窗口 但是输入N后  没有结果了  我想知道哪里出错了
听不懂。干嘛不直接说输入什么呢?比如说“第二个程序,我输入250,但没有输出任何结果”,你说“N”,我也不知道这个N是几。
我对比了一下两段代码
int a,n,w=1;
int a,b,w=1; // 不知道这个b是哪儿来的?

第一段代码还有个
else
    printf("此数是素数");
但你的第二段代码却没有

第二段代码还有个奇怪的全角字符“}”



2019-04-02 16:54
新手阿晨
Rank: 1
来 自:斗气大陆
等 级:新手上路
帖 子:8
专家分:0
注 册:2019-4-2
收藏
得分:0 
回复 2楼 rjsp
大哥 这个是我疏忽了  因为发贴的代码不是我复制的  是我重新打的 所以有些地方可能有纰漏  请原谅:
第二段代码 是输入任何数都没有后续了  不能判断这个数是不是素数;
后面因为是重新打的 所以有一段我就用~~~~符号代替了;
也不是我有破坏欲吧 我知道代码越精简越好  但刚接触嘛  总想一个问题能用其他的方式表现出来;
还是希望能解决我的主要问题:为啥第二段输入任何数程序都不能判断它是不是素数
2019-04-02 17:10
yuyundong
Rank: 2
等 级:论坛游民
威 望:2
帖 子:19
专家分:45
注 册:2019-2-18
收藏
得分:0 
int main()
{
    int n,a=2,w=1;

    cin >> n;
    while (a < n){
        if (n%a == 0){
            w = 0;
            break;
        }
        else{
            a++;
        }
    }

    if (w == 0){
        cout << "n不是素数" << endl;
    }
    else{
        cout << "n是素数" << endl;
    }
    system("pause");
}
C++写的,照你的逻辑写的,没问题
2019-04-02 18:20
新手阿晨
Rank: 1
来 自:斗气大陆
等 级:新手上路
帖 子:8
专家分:0
注 册:2019-4-2
收藏
得分:0 
回复 4楼 yuyundong
我使用codeblocks写的  用的C语言  为什么程序点击运行之后输入一个数  可是不论输入什么数 就没有后续了  能帮忙解答一下吗?
2019-04-02 18:30
a451410
Rank: 2
等 级:论坛游民
帖 子:34
专家分:48
注 册:2018-3-4
收藏
得分:0 
回复 4楼 yuyundong
没有明白你的意思,代码太乱也没看懂、
2019-04-02 19:24
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
收藏
得分:0 
代码尽量不要简略,因为可能你省略的部分就有错误,麻烦你把整个代码发出来。
2019-04-03 15:44
yuyundong
Rank: 2
等 级:论坛游民
威 望:2
帖 子:19
专家分:45
注 册:2019-2-18
收藏
得分:0 
回复 5楼 新手阿晨
既然逻辑没问题,只能打断点看了
2019-04-03 16:18
yuyundong
Rank: 2
等 级:论坛游民
威 望:2
帖 子:19
专家分:45
注 册:2019-2-18
收藏
得分:0 
输入之后没反应,或者是scanf卡住了,或者陷入了死循环
2019-04-03 16:20
不懂才问
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大草原
等 级:贵宾
威 望:29
帖 子:1503
专家分:6593
注 册:2010-7-5
收藏
得分:0 
逻辑问题,a++放错地方了

报告老师,我低头不是因为我在装低调,是你问的问题,我真的不会答,,,
2019-04-03 16:31
快速回复:刚接触C语言,这里有个问题不明白,希望能有前辈为我解答,感谢!!
数据加载中...
 
   



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

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