| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1346 人关注过本帖
标题:怎么用C语言猜由电脑产生的一个四位数,输出你猜对了哪几个数字,谢谢
只看楼主 加入收藏
w233
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-6-2
结帖率:75%
收藏
已结贴  问题点数:15 回复次数:4 
怎么用C语言猜由电脑产生的一个四位数,输出你猜对了哪几个数字,谢谢
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: C语言 
2016-06-13 14:22
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:5 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
    int i,j,k,tem, num,a[4];
    int b[4] = {0}, count = 0;
    srand(time(0));
    num = rand() % 10000;
    //printf("%d ", num);
    printf("请输入你猜的四个数:");
    for (i = 0; i < 4; i++)
    {
        scanf("%d",&a[i]);
    }
    for (i = 0; i < 4; i++)
    {
        tem = num % 10;
        num = num / 10;
        for (j = 0; j < 4; j++)
        {
            if (a[j] == tem)
            {
                for (k = 0; k < count; k++)
                {
                    if (b[k] == tem)//相同的数字不统计
                    {
                        break;
                    }
                }
                if (k == count)
                {
                    b[count] = tem;
                    count++;
                }
            }
        }
    }
    printf("你输入的数中有%d个数字正确,正确的数是:\n", count);
    for (i = 0; i < count; i++)
    {
        printf("%d ", b[i]);
    }
}
2016-06-13 15:15
w233
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-6-2
收藏
得分:0 
回复 2楼 grmmylbs
不是输入四个数,而是输入一个四位数,电脑随机产生一个四位数让我猜,要怎么改呢?

当一个人回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧。
2016-06-13 19:34
格格不入fl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:56
专家分:192
注 册:2016-3-23
收藏
得分:5 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
 {
    int a[4],b[4],h,num,i,tem,gs=0,j,k=0;
    srand(time(0));
     num = rand() % 10000;
    // printf("%d ", num);
    printf("请输入你猜的四个数字:");
    scanf("%d",&h);
    for(i=0;i<4;i++)
    {
        a[i]=h%10;
        h/=10;
    }
    for(i=0;i<4;i++)
    {
        tem=num%10;
        num/=10;
        for(j=0;j<4;j++)
        {
            if(a[j]==tem)
            {
            b [k]=a[j];
            a[j]=-1;
            k++;
            gs++;
            break;
            }
        }
    }
     printf("你输入的数中有%d个数字正确,正确的数是:\n", gs);
     for (i = 0; i < gs; i++)
     {
         printf("%d ", b[i]);
   
   
 }}
2016-06-13 21:46
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:5 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int i,j,k,tem, num,num1,a,as[4];
    int b[4]={0},count = 0;
    srand(time(0));
    num = rand() % 10000;
    printf("%d ", num);

    while(1)
    {
        num1=num;
        count=0;
        k=0;
        printf("\n请输入你猜的数:");
         scanf("%d",&a);
        for(i=0;i<4;i++)
        {
            tem=a%10;
            as[i]=tem;
            a=a/10;
        }         
        for (i = 0; i < 4; i++)
    {
        tem = num1 % 10;
        num1 = num1 / 10;
        for (j = 0; j < 4; j++)
        {
            if (as[j] == tem)
            {
                as[j]=10;
                b[k]=tem;
                k++;
                count++;
                break;
            }
        }
    }
    printf("\n你输入的数中有%d个数字正确,正确的数是:\n", count);
    for (i = count-1; i >=0; i--)
    {
        printf("%d ", b[i]);
    }
    if(count==4)  break;
    }
   

}
2016-06-13 21:51
快速回复:怎么用C语言猜由电脑产生的一个四位数,输出你猜对了哪几个数字,谢谢
数据加载中...
 
   



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

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