C语言 猜数字小游戏

        想起来刚进入软技第一周的时候要我们交这个作业,那时候别说是C语言了,我连电脑都没碰过,然后编译器也不会用,书也看不懂,折腾了一周才刚刚搞清楚一些基本概念,不过写出第一个程序时还是很有成就感的,然后就继续学习,获得很多收获...言归正传,下面是代码,比较简单,不再一一解释了 

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
main()
{
	int a,b,c,d,e,f,m,n,o,q,r,s,answer;  //a和b分别是输入的下限和上限,c是游戏人数,d是你猜的数,e和f分别是每次游戏的下限和上限,m是轮到第m个人猜了,s用来判断是否继续玩,answer是正确答案,其他字母都是循环时用来计数的 
	for(r=1;;++r)
	{	
		printf("\n\n    多人猜数字小游戏第%d局\n\n(请不要尝试输入其他字符,空格都不行!)\n",r);
		for(o=1;;++o)
		{			
			printf("\n请输入游戏人数:");
			scanf("%d",&c);
			if(c<=0)
			{
				printf("\n你丫的到底会不会数数!?\n");			
			}			
			if(c>0)
			{
				break;
			}			
		}
		for(n=1;;++n)
		{	
			printf("\n请输入随机数下限:");
			scanf("%d",&a);	
			printf("\n请输入随机数上限:");
			scanf("%d",&b);
			if(a>b)
			{
				printf("\n皮这一下你快乐吗?\n\n再给你一次机会\n");
			}
			if(a==b)
			{
				printf("你这哪里还用猜?!\n\n再给你一次机会\n");		 
			} 
			if(a<b)
			{
				break;
			}
		}
		e=a;
		f=b;
		srand((unsigned)time(NULL));
		answer=rand()%(b-a+1)+a;
		system("cls"); 
		printf("\n     温馨提示:答案不一定是%d哦\n\n",answer);
		for(m=1;;++m)
		{	
			m=(m-1)%c+1;
			printf("第%d个人请猜一个从%d到%d的数:",m,e,f);
			scanf("%d",&d);
			if(d==answer)
			{
				printf("\n恭喜第%d个人猜对了!\n\n",m);
				break;
				if(e==f)
				{				
					printf("\n切!不过是捡了个便宜,看把你乐得!");
				}
			}						
			if(d!=answer)
			{				
				for(q=1;;++q)
				{		
					if(d>f)
					{
						printf("\n最起码也要比%d小吧\n\n第%d个人请重新输入一次吧:",f,m);
						scanf("%d",&d); 
					}
					if(d<=f&&d>answer)
					{
						printf("\n不对,太大啦!\n\n");
						f=d-1;
						break;
					}
					if(d<e)
					{
						printf("\n最起码也要比%d大吧\n\n第%d个人请重新输入一次吧:",e,m);
						scanf("%d",&d);
					}
					if(d>=e&&d<answer)
					{
						printf("\n不对,太小啦!\n\n");
						e=d+1;
						break;
					}
				}
			}
		}
		printf("游戏结束了,要不要再来一局?\n\n输入1再来一局,输入其他数字结束游戏:");
		scanf("%d",&s);
		if(s!=1)
		{			
			break;
		}
		if(s==1)
		{
			system("cls");
		}
	}
	getchar();
	getchar();
	return 0;		
} 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值