| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1424 人关注过本帖
标题:一个循环问题
只看楼主 加入收藏
云间小鸟
Rank: 1
来 自:四川广安
等 级:新手上路
帖 子:28
专家分:6
注 册:2011-5-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:21 
一个循环问题
#include "stdio.h"
void main()
{
    int a,b,c;
   
    printf("请输入您的年龄:");
   
   
    scanf("%d",&a);

    if(a>0);

    else
    do
    {
        printf("您输入的是%d,请重新输入:",a);
        scanf("%d",&a);

    }while(a<0);
                                                这一串代码可以简化吗?
    printf("请输入你的体重:");                帮帮忙啊!!

   
    scanf("%d",&b);

    if(b>0);

    else
    do
    {
        printf("您输入的是%d,请重新输入:",b);
        scanf("%d",&b);

    }while(b<0);

    printf("请输入你的身高:");

   
    scanf("%d",&c);


    if(c>0);

    else
    do
    {
        printf("您输入的是%d,请重新输入:",c);
        scanf("%d",&c);

    }while(c<0);

    printf("您的年龄是%d,请再确认无误!!\n",a);

    printf("您的体重是%d,请确认无误!!\n",b);

    printf("您的身高是%d,请确认无误!!\n",c);


}
搜索更多相关主题的帖子: 体重 include while 
2011-09-20 15:06
枪手问鼎英超
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2011-6-1
收藏
得分:3 
程序代码:
#include "stdio.h"
void main()
{
    int a,b,c;
   
    printf("请输入您的年龄:");
   
   
    scanf("%d",&a);

    if(a<=0)
    {
        printf("您输入的是%d,请重新输入:",a);
        scanf("%d",&a);

    }
                                               
    printf("请输入你的体重:");               

   
    scanf("%d",&b);

    if(b<=0)
    {
        printf("您输入的是%d,请重新输入:",b);
        scanf("%d",&b);

    }

    printf("请输入你的身高:");

   
    scanf("%d",&c);


    if(c<=0);

   
    {
        printf("您输入的是%d,请重新输入:",c);
        scanf("%d",&c);

    }

    printf("您的年龄是%d,请再确认无误!!\n",a);

    printf("您的体重是%d,请确认无误!!\n",b);

    printf("您的身高是%d,请确认无误!!\n",c);


} 
这样就可以了,为什么偏用do  while语句了,这个语句不常用的
2011-09-20 15:27
云间小鸟
Rank: 1
来 自:四川广安
等 级:新手上路
帖 子:28
专家分:6
注 册:2011-5-24
收藏
得分:0 
楼上的谢谢你的解答、、
可是运行出来是:
请输入您的年龄:-6
您输入的是-6,请重新输入:-6
请输入你的体重:-6
您输入的是-6,请重新输入:-6
请输入你的身高:-6
您输入的是-6,请重新输入:-6
您的年龄是-6,请再确认无误!!
您的体重是-6,请确认无误!!
您的身高是-6,请确认无误!!
请按任意键继续. . .
我要的是这种运行效果:
请输入您的年龄:-5
您输入的是-5,请重新输入:6
请输入你的体重:-6
您输入的是-6,请重新输入:6
请输入你的身高:-7
您输入的是-7,请重新输入:6
您的年龄是6,请再确认无误!!
您的体重是6,请确认无误!!
您的身高是6,请确认无误!!
请按任意键继续. . .



                         --------------------------------我要飞得更高!
2011-09-20 15:59
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 3楼 云间小鸟
对比二楼代码,你应该能看你的代码错在哪了?

总有那身价贱的人给作业贴回复完整的代码
2011-09-20 16:12
云间小鸟
Rank: 1
来 自:四川广安
等 级:新手上路
帖 子:28
专家分:6
注 册:2011-5-24
收藏
得分:0 
不是,我要的是输入的值必需大于0
不大于零就进入循环,当输入的数值大于0
才进行下一个数值的输入
二楼的代码没错可是,不管输入的值是否大于0
只要输入两次后它就定义了变量的值!!

                         --------------------------------我要飞得更高!
2011-09-20 16:33
zatt520
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2011-8-22
收藏
得分:3 
for(*******)
{
    if(a<0)
   
    else
}
这样也行吧。看到DO~WHILE就头疼。。。
2011-09-20 16:59
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:3 
程序代码:
#include "stdio.h"
void main()
{
    int a,b,c;
   
    printf("请输入您的年龄:"); 
    scanf("%d",&a);   
    while (a<=0)
    {
        printf("您输入的是%d,请重新输入:",a);
        scanf("%d",&a);
    }
    printf("请输入你的体重:");                  
    scanf("%d",&b);   
    while(b<=0)
    {
        printf("您输入的是%d,请重新输入:",b);
        scanf("%d",&b);
    }
    printf("请输入你的身高:");
    scanf("%d",&c);
   
    while(c<=0)
    {
        printf("您输入的是%d,请重新输入:",c);
        scanf("%d",&c);
    }   
    printf("您的年龄是%d,请再确认无误!!\n",a);
    printf("您的体重是%d,请确认无误!!\n",b);
    printf("您的身高是%d,请确认无误!!\n",c);
} 

学C的秘诀=每天都来泡论坛
2011-09-20 17:17
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:3 
回复 5楼 云间小鸟
真没悟性,对比二楼的代码,找到你自己的代码错误的地方,修改后再运行看看,还非得等别人把肉送到嘴边啊,服了

总有那身价贱的人给作业贴回复完整的代码
2011-09-20 17:37
yucwei
Rank: 2
等 级:论坛游民
帖 子:25
专家分:46
注 册:2007-10-10
收藏
得分:3 
以下是引用edwardflee在2011-9-20 17:17:10的发言:

#include "stdio.h"
void main()
{
    int a,b,c;
   
    printf("请输入您的年龄:");  
    scanf("%d",&a);   
    while (a<=0)
    {
        printf("您输入的是%d,请重新输入:",a);
        scanf("%d",&a);
    }
    printf("请输入你的体重:");                  
    scanf("%d",&b);   
    while(b<=0)
    {
        printf("您输入的是%d,请重新输入:",b);
        scanf("%d",&b);
    }
    printf("请输入你的身高:");
    scanf("%d",&c);
   
    while(c<=0)
    {
        printf("您输入的是%d,请重新输入:",c);
        scanf("%d",&c);
    }   
    printf("您的年龄是%d,请再确认无误!!\n",a);
    printf("您的体重是%d,请确认无误!!\n",b);
    printf("您的身高是%d,请确认无误!!\n",c);
}
感觉有点麻烦呢!
2011-09-20 17:44
statics
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:163
专家分:625
注 册:2011-8-29
收藏
得分:3 
  #include "stdio.h"
 void main()
  {
        int a,b,c;
        
        printf("请输入您的年龄:");
        
        
        scanf("%d",&a);
        
        if(a<=0)
        {
            printf("您输入的是%d,请重新输入:",a);
            scanf("%d",&a);
            
        }
        
        printf("请输入你的体重:");               
        
        
        scanf("%d",&b);
        
        if(b<=0)
        {
            printf("您输入的是%d,请重新输入:",b);
            scanf("%d",&b);
            
        }
        
        printf("请输入你的身高:");
        
        
        scanf("%d",&c);
        
        
        if(c<=0)//;去掉
        {
            printf("您输入的是%d,请重新输入:",c);
            scanf("%d",&c);
            
        }
        
        printf("您的年龄是%d,请再确认无误!!\n",a);
        
        printf("您的体重是%d,请确认无误!!\n",b);
        
        printf("您的身高是%d,请确认无误!!\n",c);
        
        
    }
这样就是你要的结果了

惟我独行...
2011-09-20 17:49
快速回复:一个循环问题
数据加载中...
 
   



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

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