请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母
#include<stdio.h>
void main()
{char letter;
printf("please input the first letter:\n");
while((letter=getch())!='y')
{
switch(letter)
{
case 's':
printf("please input the second letter:\n");
if((letter=getch())=='a')
printf("Saturday\n");
else if((letter=getch())=='u')
printf("Sunday\n");
else printf("data error\n");
break;
case 'm':
printf("Monday\n");
break;
case 't':printf("please input the second letter:\n");
if((letter=getch())=='u')
printf("Tuesday\n");
else if((letter=getch())=='h')
printf("Thursday\n");
else
printf("data error\n");
break;
case 'w':printf("Wednesday\n");break;
case 'f':
printf("Friday\n");
break;
default:printf("data error\n");
}
}
}
问题:当输入‘s',提示输入第二个字母,如果此时输入一个‘u',为什么不输出Sunday,而要再输入一个‘u',才输出Sunday?我在TURBO C运行的是这样的结果
下面的case 't'的情况也一样。为什么?
getch()函数
答案:3 悬赏:10 手机版
解决时间 2021-03-12 10:50
- 提问者网友:戎马万世
- 2021-03-11 11:48
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-03-11 11:57
printf("please input the second letter:\n");
if((letter=getch())=='a')
printf("Saturday\n");
else if((letter=getch())=='u')
printf("Sunday\n");
else printf("data error\n");
if((letter=getch())=='a')
printf("Saturday\n");
else if((letter=getch())=='u')
printf("Sunday\n");
else printf("data error\n");
全部回答
- 1楼网友:白昼之月
- 2021-03-11 14:20
case 'T':
{
printf("Please input second letter:");
getchar();//抵消输入T之后输入的回车键
letter = getchar();//取得的实际是输入的第三个单元
if (letter == 'u')
printf("The day istuesday\n");
else if (letter == 'h')
printf("The day is thursday\n");
else printf("data error\n");
break;
}
- 2楼网友:从此江山别
- 2021-03-11 13:31
函数名: getch
功 能: 从控制台无回显地取一个字符
用 法: int getch(void);
程序例:
#include
#include
int main(void)
{
char ch;
printf("input a character:");
ch = getch();
printf("\nyou input a '%c'\n", ch);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯