搜索
查看: 2845|回复: 8
打印 上一主题 下一主题

[原创] 无聊写了个“猜大小”的程序。

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-13 16:00:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
学C语言有一个星期了,白天看啊哈C,晚上去学校听课。
说实话,大学老师教的跟屎一样。昨晚课上,弄个计算年利率的程序都搞不好,老师白当了。
今天无聊,弄了个"猜大小"的程序,只是雏形。跟大家分享下思路。后续再加个输赢分的功能,然后再优化。
有不足的请大家指导下啊。
另外,好不容易自己写个东西,如果过得去,版主给我加个精啊。
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include<windows.h>
int main()
{   
    int a,b,c,d,x,y;
    d=1;
    while(d=1)  
    {   
  printf("请选择大小(大为1,小为2)\n\n");
     
  {
  scanf("%d",&a);
   
  }
  {
   if(a==1)
   printf("你选择的是大\n\n");
   else
   printf("你选择的是小\n\n");
  }
   printf("请按回车键继续...\n\n");
   getch();
   
            srand((unsigned)time(NULL));//为了避免重复
            x=rand()%9;//产生一个0-9的随机数
            {
    if (x>=5)
    {
     printf("    结果为大。\n\n");
     y=1;
    }
    else
    {
     printf("    结果为小。\n\n");
     y=2;
    }
    if (y==a)
    {
     printf("选择正确\n");
    }
    else
    {
     printf("选择错误\n");
    }
  }
     
    Sleep(1000);
    system("cls");
    }
    system("pause");
return 0;
}

沙发
发表于 2013-3-13 16:45:03 | 只看该作者
if(a==1)
   printf("你选择的是大\n\n");
   else
   printf("你选择的是小\n\n");
你用“else”的话输入除1以外的任何字符都是小了

点评

台球  发表于 2015-1-2 20:55
板凳
 楼主| 发表于 2013-3-13 16:54:09 | 只看该作者
groundhog168 发表于 2013-3-13 16:45
if(a==1)
   printf("你选择的是大\n\n");
   else

说的对,
我要是改成
                                                if(a==1)
                        printf("你选择的是大\n\n");
                        if(a==2)
                        printf("你选择的是小\n\n");
是否可行?
地板
发表于 2013-3-14 07:38:53 | 只看该作者
学习下   谢谢分享
5#
发表于 2013-3-15 11:54:12 | 只看该作者
junjie9034 发表于 2013-3-13 16:54
说的对,
我要是改成
                                                if(a==1)

if(a==1)
    printf("你选择的是大\n\n");
if(a==2)
    printf("你选择的是小\n\n");
if(a!=2 && a!=1)
   printf("输入错误\n\n");
或者
switch(a)
{
     case 1: printf("你选择的是大\n\n");
     break;
     case 2: printf("你选择的是小\n\n");
     break;
     default: printf("输入错误\n\n");
     break;
}
6#
发表于 2013-3-15 12:00:06 | 只看该作者
还有“getch()" 是按任意键执行后续指令。也就是说我在("请按回车键继续...\n\n")这句话出现后,按任意键都可以继续,不一定要按回车键,这样的话程序会不会不严谨?
7#
发表于 2013-3-15 12:11:39 | 只看该作者
稍加改动后
#include <stdio.h>
#include <stdlib.h>
#include<windows.h>
int main()
{   
    int a,b,c,d,e,x,y;
    d=1;
    while(d=1)  
    {   
                printf("请选择大小(大为1,小为2)\n\n");
                scanf("%d",&a);
                switch(a)
                {
                 case 1: printf("你选择的是大\n\n"),e=1;
                 break;
                 case 2: printf("你选择的是小\n\n"),e=1;
                 break;
                 default: printf("输入错误\n\n"),e=0;
                 break;
                }
                if(e==1)
        {
                                        system("pause\n");
                                        srand((unsigned)time(NULL));//为了避免重复
                                        x=rand()%9;//产生一个0-9的随机数
                                        {
                        if (x>=5)
                        {
                         printf("    结果为大。\n\n");
                         y=1;
                        }
                        else
                        {
                         printf("    结果为小。\n\n");
                         y=2;
                        }
                        if (y==a)
                        {
                         printf("选择正确\n");
                        }
                        else
                        {
                         printf("选择错误\n");
                        }
                  }
        }
    Sleep(1000);
    system("cls");
    }
    system("pause");
return 0;
}
改动了三处:
1.用switch case 语句加入“输入错误”;
2.如果输入错误,则不执行后续产生随机数等命令;
3.将 “printf("请按回车键继续...\n\n");
   getch();” 改为“system("pause\n");”
8#
发表于 2013-7-22 21:40:07 | 只看该作者
{:soso_e129:}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表