| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 932 人关注过本帖
标题:关于循环的疑问
取消只看楼主 加入收藏
yln50646
Rank: 2
等 级:论坛游民
帖 子:5
专家分:22
注 册:2015-6-3
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:0 
关于循环的疑问
最近看到一个题目:爱婴斯坦阶梯问题:
开始写代码是这样的:
/*原始题目是:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;
若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;
只有每步上7阶,最后刚好一阶也不剩。*/
#include<stdio.h>
int main()
{
int i=1, num;
    while (i<1000){
        num = 7*i;
        if( (num%6==5&&num%5==4&&num%3==2&&num%2==1)==1)
            printf("台阶步数为%d\n",num);
        else i++;
        
    };
    printf("计算结束\n");
    return 0;
}
程序进入无限循环!!没想明白是怎么回事?
后来又更改了下,程序如下:
/*原始题目是:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;
若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;
只有每步上7阶,最后刚好一阶也不剩。*/
#include<stdio.h>
int main()
{
int i=1, num;
    while (i<1000){
        num = 7*i;
        if( (num%6==5&&num%5==4&&num%3==2&&num%2==1)==1)
            printf("台阶步数为%d\n",num);
        else ;
        i++;
    };
    printf("计算结束\n");
    return 0;
}
这样就可以算出来结果了。
初学C不久,有没有前辈给解释下!在此谢谢了!!
2016-01-07 20:42
快速回复:关于循环的疑问
数据加载中...
 
   



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

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