C语言求解!!!谢谢!!!

#include<stdio.h>intmain(void){charletter;printf("Pleaseinput:");letter=getchar();swi... #include <stdio.h>

int main(void)
{
char letter;
printf("Please input:");
letter = getchar();

switch(letter)
{
case 'M':
{
printf("Monday!\n");break;
}
case 'T':
{
printf("Please input the second letter:");
if((letter=getchar())=='h')
printf("Thursday!\n");
else if((letter=getchar())=='u')//为什么输入'u'没有输出,输出的是‘Error’
printf("Tuesday!\n");
else
printf("Error!\n");
break;
}
case 'W':
{
printf("Wednesday!\n");break;
}
case 'F':
{
printf("Friday!\n");break;
}
case 'S':
{
printf("Please input the second letter:");

if((letter=getchar())=='u')
printf("Sunday!\n");

else if((letter=getchar())=='a')//为什么输入'a'没有输出,输出的是‘Error’

printf("Satuaday!\n");

else
printf("Error!\n");

break;
}
default :
printf("Error!");
break;
}

return 0;
}
程序的功能是:输入星期的首字母,判断是星期几,如果第一个字母相同,则输入第二个字母,判断是星期几,为题请见注释行!还请详解,谢谢!
展开
 我来答
沧蟒
2012-05-26 · TA获得超过587个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:197万
展开全部
#include <stdio.h>
int main(void)
{
char letter;
printf("Please input:\n");
letter = getchar();
switch(letter)
{
case 'M':
case 'm':
{
printf("Monday!\n");break;
}
case 'T':
case 't':
{
printf("Please input the second letter:\n");
getchar();
letter = getchar();
if(letter=='h'||letter=='H')
printf("Thursday!\n");
else if(letter=='u'||letter=='U')
printf("Tuesday!\n");
else
printf("Error!\n");
break;
}
case 'W':
case 'w':
{
printf("Wednesday!\n");break;
}
case 'F':
case 'f':
{
printf("Friday!\n");break;
}
case 'S':
case 's':
{
printf("Please input the second letter:\n");
getchar();
letter = getchar();
if(letter=='u'||letter=='U')
printf("Sunday!\n");
else if(letter=='a'||letter=='A')
printf("Satuaday!\n");
else
printf("Error!\n");

break;
}
default :
printf("Error!\n");
break;
}
return 0;
}
不懂请追问,满意请采纳,谢谢
追问
case 'T':
case 't':
{
printf("Please input the second letter:\n");
getchar();//为什么需要这行代码?
letter = getchar();
if(letter=='h'||letter=='H')
printf("Thursday!\n");
else if(letter=='u'||letter=='U')
printf("Tuesday!\n");
else
printf("Error!\n");
break;
}
您好,请问下上面注释行是什么意思?
追答
因为你输入了一个英文后,会按一个回车吧。。getchar();//为什么需要这行代码?
这行代码就是把回车冲掉,不然回车符就被letter截取了,然后程序就出错,对用getchar函数进行输入是都要注意到这个情况,还有就是要把条件考虑的细致一点,像
case 'T':
case 't':
这个一样。。。。不懂还可以追问,满意请采纳赞同,谢谢
一变班爱麻啊堡0J
高粉答主

2020-01-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5529万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式