请求大神指点!非常感谢!
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void){
char alphabet;
char c;
srand(time(NULL));
c=rand()%26;
c=c+'A';
printf("%c",c);
printf("I have selected a character between A and Z\nTry to guess the character selecter by me!\nWhat is your guess?\n");
int i;
for(i=0;i<=100;i++){
scanf("%c",&alphabet);
if(c==alphabet){
printf("Great! Your guess is right!\n");
}
else if(c<alphabet){
printf("Way behind! Please try again.\n");}
else{
printf("Way ahead! Please try again.\n");}
}
return 0;
}
结果如下:
因为scanf也会读取换行符,所以当你输入a+回车的时候,等于会运行两次循环,所以需要先判断一下alphabet是不是'\n',是的话跳过本次循环
for(i=0;i<=100;i++){
scanf("%c",&alphabet);
if (alphabet == '\n') {
continue;
}
if(c==alphabet){
printf("Great! Your guess is right!\n");
}else if(c<alphabet){
printf("Way behind! Please try again.\n");
}
else{
printf("Way ahead! Please try again.\n");
}
}
#include <time.h>
#include <stdlib.h>
void main()
{
printf("I have selected a character between A and Z Try to guess the character selected by me ! What is your guess ?");
srand((unsigned)time(NULL));//选取种子文件
char c = rand()%26 + 'A';
while(true)
{
char a;
scanf("%c",&a);
if(a < c)
printf("Way ahead! Please try again.");
else if(a > c)
printf("Way behind! Please try again");
else
{
printf("Great! Your guess is right!");
break;
}
getchar();
printf("\nguess again:");
}
}
不配。
您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~
ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓
【电脑端】戳>>> https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】 戳>>> https://mall.csdn.net/item/52471?utm_source=1146287632