永发信息网

程序随机给出A~Z之间的字母。让用户猜测这个字母

答案:2  悬赏:0  手机版
解决时间 2021-03-24 04:29
  • 提问者网友:捧腹剧
  • 2021-03-23 06:11
#include "stdio.h"
#include "time.h"
#include "stdlib.h"
main()
{
char guess,m;
int cout=0;
srand((unsigned)time(NULL));
m=rand()%26+'A';

do
{
printf("猜A~Z的字符\n");
scanf("%d",&guess);

if(guess<'A'||guess>'Z')
printf("输的数没A~Z的在范围内");

if(guess>m)
printf("猜大了");
if(guess printf("猜xiao了");
if(guess==m)
printf("恩恩");
cout++;
}

while(guess!=m);
printf("你共猜了%d次才猜对,正确的为%c",cout,m);
return 0;
}
请问这个程序错在哪里啊。。。谢谢

那个scanf("%d",&guess);

改为scanf("%c",&guess);
最佳答案
  • 五星知识达人网友:荒野風
  • 2021-03-23 06:23
这样写就可以了
#include "stdio.h"
#include "time.h"
#include "stdlib.h"
void main()
{
char guess,m;
int count=0;
srand((unsigned)time(NULL));
m=rand()%26+'A';

do
{
printf("猜A~Z的字符\n");
fflush(stdin);
scanf("%c",&guess);

if(guess < 'A'||guess > 'Z')
{
printf("输的数没A~Z的在范围内\n");
continue;
}

if(guess > m)
{
printf("猜大了");
continue;
}
if(guess < m)
{
printf("猜xiao了");
continue;
}
if(guess == m)
{
printf("恩恩");
}
}while(++count, guess != m);
printf("你共猜了%d次才猜对,正确的为%c", count, m);
return;
}
全部回答
  • 1楼网友:三千妖杀
  • 2021-03-23 06:54
#include #include #include #include void main() { char c; char d; printf("请按任意键产生一个随机字母\n"); getch(); srand((unsigned)time(null)); d = rand()%26+97; printf("请输入你猜想的字母\n"); scanf("%c", &c); if (d == c) printf("恭喜你猜对了!\n"); else printf("很遗憾猜错了!正确答案是:%c\n", d
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯