| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5652 人关注过本帖
标题:C语言新手不小心搞了个无限循环的输出。求解
只看楼主 加入收藏
姚2014021
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2014-11-10
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:6 
C语言新手不小心搞了个无限循环的输出。求解
#include<stdio.h>

int main(void)
{
    int mm, nn, num, pointer;

    printf("Input m, n: ");
    scanf("%d,%d", &mm, &nn);
    printf("\nResult:");

    if (mm >= nn)
    {
        for (num = nn; num <= mm; num++)
        {
            if (num % 10 == 5 || num / 10 % 10 == 5 || num / 100 % 10 == 5 || num / 1000 % 10 == 5)
            {
                pointer = 1;
            }
            else
            {
                pointer = 0;
            }
            while (num % 3 == 0 && pointer == 1)
                printf("%2d", num);
        }
    }
    else
    {
        for (num = mm; num <= nn; num++)
        {
            if (num % 10 == 5 || num / 10 % 10 == 5 || num / 100 % 10 == 5 || num / 1000 % 10 == 5)
            {
                pointer = 1;
            }
            else
            {
                pointer = 0;
            }
            while (num % 3 == 0 && pointer == 1)
                printf("%2d", num);
        }
    }
    return 0;
}
搜索更多相关主题的帖子: include C语言 
2014-11-11 20:46
姚2014021
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2014-11-10
收藏
得分:0 
我的设计目的是键盘输入m,n(约定:m和n均≤1000且为正整数),m,n的大小不定,输出介于m和n(含m和n)中能被3整除且至少有位数字是5的所有整数。
但是事实上的输出效果却是一个无限循环的结果
2014-11-11 20:48
姚2014021
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2014-11-10
收藏
得分:0 
(⊙o⊙)哦。我已经改过来了。把While改成if就可以实现目标。
不过还是希望知道为什么不能用while
2014-11-11 20:55
Xadron
Rank: 2
等 级:论坛游民
帖 子:9
专家分:26
注 册:2014-11-10
收藏
得分:5 
因为if是条件语句而while是循环语句。而while语句前面的内容给了它条件,实验一下就会发现,输出的总是两个数字中满足条件的较小的数。它满足while语句的条件而且一直满足,没有被终止。建议在句后加入break吧。    我刚学C语言不就如果错了请多多指教。
2014-11-12 07:26
姚2014021
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2014-11-10
收藏
得分:0 
试过之后,在WHILE的最后加入BREAK,依然还是会无限循环诶。不过前面的我比较认同。但是,while不是表示先判断,再执行么?
2014-11-12 18:20
doudou74321
Rank: 2
等 级:论坛游民
帖 子:70
专家分:72
注 册:2014-11-5
收藏
得分:5 
回复 5 楼 姚 2014021
continue
2014-11-12 18:31
姚2014021
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2014-11-10
收藏
得分:0 
回复 6 楼 doudou74321
在最后使用continue。也依然是无限循环。
2014-11-12 19:06
快速回复:C语言新手不小心搞了个无限循环的输出。求解
数据加载中...
 
   



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

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