| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 344 人关注过本帖
标题:<求助>一个关于循环退出的部题
只看楼主 加入收藏
jackface
Rank: 2
等 级:论坛游民
帖 子:63
专家分:17
注 册:2009-4-15
结帖率:93.75%
收藏
已结贴  问题点数:20 回复次数:2 
<求助>一个关于循环退出的部题
#include<stdio.h>
#include<windows.h>
void main()
{
    int num1,num2,num3;
    num1=num2=1;
   
     do{
        printf("num1=%d\n",num1);
         num3=num1+num2;
         num1=num2;
        num2=num3;
        }while(num1>=100);//为什么这里加了条件不起作用?
     system("pause");
}  
搜索更多相关主题的帖子: include system 
2009-09-09 18:02
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:15 
while里表达式为真才起作用,初始num1是小于100的数,表达式num1>=100为假,不执行循环。
表达式为num1<=100就可以了。

努力—前进—变老—退休—入土
2009-09-09 18:16
jetlif
Rank: 2
等 级:论坛游民
帖 子:7
专家分:28
注 册:2009-8-19
收藏
得分:5 
程序代码:
#include<stdio.h>
#include<windows.h>
void main() 
{
    int num1,num2,num3;
    num1=num2=1;
    
     do{ 
        printf("num1=%d\n",num1);
         num3=num1+num2;
         num1=num2;
        num2=num3;
        }while(num1>=100);//为什么这里加了条件不起作用?
     system("pause");
} 
do....while型循环,先不管条件,执行一次,然后去判断条件,执行一次后,num1的值变为num2的值,还是1,但比100小,说明不满足你的num1>=100,所以跳出了循环。应该是<=100,并且,你打印的应该是num3吧?
综合起来改成如下:
程序代码:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int num1,num2,num3;
   num1=1;num2=1;
   do
   { 
   num3=num1+num2;
   printf("num3=%d\n",num3); 
    num1=num2;
    num2=num3;    
}while(num1<=100);           
  system("PAUSE");    
  return 0;
}
打印结果:
num3=2
num3=3
num3=5
num3=8
num3=13
num3=21
num3=34
num3=55
num3=89
num3=144
num3=233
请按任意键继续. . .
——————————
不知道是不是满足你的要求?
2009-09-09 18:27
快速回复:<求助>一个关于循环退出的部题
数据加载中...
 
   



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

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