| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1082 人关注过本帖
标题:高手帮看下代码,循环
取消只看楼主 加入收藏
lautition
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:21
注 册:2016-3-16
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:4 
高手帮看下代码,循环
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(void)
{
    srand((unsigned) time(NULL));
    int number=rand()%19+1;
    int n,i;
    //printf("这个随机值是=%d\n",number);
    printf("我是一个1-20的整数\n");
    printf("请你猜猜我是几=");
    scanf("%d",&n);
    for(i=1;n!=number;i++)//for循环开始
        {                  
        if((n<=0)||(n>20))
            {
            printf("请输入一个1-20的整数:");
            }
        else if((n>=1)&&(n<=20))
            {   
                if(n>number)
                    {
                printf("你输入的数太大了!");
                    }
                else if(n<number)
                    {
                printf("你输入的数太小了!");
                    }
            }
        printf("你第%d次没有猜对!\n",i);
                if(i>=3)
                {
                printf("你太蠢了\n");
                }
                else
                {
                ;   
                }
   
        printf("请再次输入:");
        scanf("%d",&n);
        }//for循环结束
        if( i < 3 )
            {
            printf("你太聪明了!");
            }    else
                {
                ;
                }

        printf("恭喜你猜对了\n");
    return 0;
}
这是一个猜数代码,猜一个1-20的数,红色部分,不知道怎么搞了,这样运行也是没问题的
有没有办法搞到一起,我如果放到上面   当输入正确值的时候就不会判断i次数, 如果放到下面,输错了后又不会判断i值
2016-03-18 10:10
lautition
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:21
注 册:2016-3-16
收藏
得分:0 
回复 2楼 wmf2014
只能连续猜4次

    后面的if(i<3)...else后面不会运行
2016-03-18 12:02
lautition
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:21
注 册:2016-3-16
收藏
得分:0 
回复 2楼 wmf2014
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(void)
{
    srand((unsigned) time(NULL));
    int number=rand()%19+1;
    int n,i;
    printf("这个随机值是=%d\n",number);
    printf("我是一个1-20的整数\n");
    printf("请你猜猜我是几=");
    scanf("%d",&n);
    for(i=1;n!=number;i++)//for循环开始   //这里我没有限制i的大小
    {                  
        if((n<=0)||(n>20))
        {
            printf("请输入一个1-20的整数:");
        }
        else if((n>=1)&&(n<=20))
        {   
            if(n>number)
            {
                printf("你输入的数太大了!");
            }
            else if(n<number)
            {
                printf("你输入的数太小了!");
            }
        }
        printf("你第%d次没有猜对!\n",i);
        printf("请再次输入:");
        scanf("%d",&n);
    }//for循环结束
    if( i < 3 )
    {
        printf("你太聪明了!恭喜你猜对了\n");
    }    else
    {
        printf("你太蠢了\n");;    //如果我超过三次输入正确的number  这里还是输出 你太蠢了  不会提示猜对了&&在我3次没猜对的情况依然不会输出这条
    }
    return 0;
}
在我没猜对的情况下,程序依然在FOR循环  不会执行 if(i<3)后面的语句

[此贴子已经被作者于2016-3-18 12:20编辑过]

2016-03-18 12:16
lautition
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:21
注 册:2016-3-16
收藏
得分:0 
回复 5楼 grmmylbs
//总体要求是,猜一个随机数,三次内(不含三次)猜对了,输出你太聪明了,恭喜你猜对了;
//三次以上(含三次)没猜对,输出你太蠢了,请再次输入一个整数,
//三次以上(含三次)猜对,只输出恭喜你猜对了

//比较每次输入的整数是否在0-20之间,如果不是 提示重新输入
//printf输入的总次数
//其实程序是对的,只是红字部分if语句 怎么看 怎么别扭,能部能把他们合在一起 而不影响
2016-03-18 13:58
lautition
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:21
注 册:2016-3-16
收藏
得分:0 
回复 8楼 wanglianyi1
我的源码是在1L,4L的是我照着版主给我改的 我再改的结果  你看下1L

我不限制次数啊
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

程序运行是没问题的,就是红色if语句,两个空else if   这样不好吧   能不能整合到一起

[此贴子已经被作者于2016-3-18 14:14编辑过]

2016-03-18 14:01
快速回复:高手帮看下代码,循环
数据加载中...
 
   



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

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