c语言猜数游戏1到100程序结果与原意不符? 5
我制作了一个C语言程序,7次机会猜程序所产生的1到100中的随机数,一轮结束后按y键可以重新开始一轮,但程序结果与原意不符,是哪出错了程序代码:#include<stdi...
我制作了一个C语言程序,7次机会猜程序所产生的1到100中的随机数,一轮结束后按y键可以重新开始一轮,但程序结果与原意不符,是哪出错了程序代码:#include<stdio.h>#include<stdlib.h>#include<time.h>int main(){ srand(time(NULL)); printf("游戏介绍:\n"); printf("猜出游戏中随机产生的1到100中的任意一个整数,\n"); printf("每次游戏有7次机会,如果次数用完并没猜出数字,\n"); printf("则自动公布产生整数\n"); printf("开始游戏?(y/n)\n"); char w; char ch; while (ch = getchar()) { if (ch == 'n') return 0; else if (ch == 'y') break; else continue; } w = ch; while (w == 'y') { int x; x = rand() % 100 + 1; int t = 7, n, num; for (n = 1; n <= 7; ++n) { printf("第%d次机会,请输入数字:", n); scanf_s("%d", &num); if (n == 7 && num != x) printf("很遗憾,本次随机数为%d", x); break; if (num < x) { printf("小了\n"); continue; } else if (num > x) { printf("大了\n"); continue; } else if (num == x) { printf("恭喜你,猜对了!\n"); printf("本次随机数为%d", x); break; } else continue; } printf("再来一次吗?(y/n)"); while (w = getchar()) { if (w == 'y') break; else if (w == 'n') return 0; else continue; } } return 0;}
展开
1个回答
展开全部
曾经帮别人答过,代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int nAppValue, nUserValue, iCount = 0;
srand( time( 0 ) );
nAppValue = rand() % 100 + 1;
printf( "请猜我选中的是哪个数字(1-100)?\n" );
do
{
scanf( "%d", &nUserValue );
++iCount;
if( nUserValue == nAppValue )
{
printf( "猜了%d次, 猜中了!\n",iCount );
break;
}
else if( nUserValue > nAppValue )
{
printf( "错了!再小点, 继续猜!\n" );
}
else
{
printf( "错了!再大点!继续猜!\n" );
}
}while(1);
printf( "游戏结束!\n" );
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询