题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
程序分析:使用判断语句进行条件判断更好实现。
代码实现:
/*请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。*/
#include <stdio.h>
int main() {
char letter, letter2, letter3;
printf("请输入第一个字母:\n");
scanf_s("%c",&letter);
getchar();
//字母输入完成,使用switch语句进行判断
switch (letter)
{
case 'M':
case 'm':
printf("星期一\n");
break;
case 'T':
case 't':
printf("请输入第二个字母:\n");
scanf_s("%c", &letter2);
if (letter2 == 'u' || letter2 == 'U')
{
printf("星期二\n");
}
if (letter2 == 'H' || letter2 == 'h')
{
printf(" 星期四\n");
}
break;
case 'W':
case 'w':
printf("星期三\n");
break;
case 'F':
case 'f':
printf("星期五\n");
break;
case 'S':
case 's':
printf("请输入第二个字母:\n");
scanf_s("%c", &letter3);
if (letter3 == 'u' || letter3 == 'U')
{
printf("星期日\n");
break;
}
if (letter3 == 'A' || letter3 == 'a')
{
printf(" 星期六\n");
break;
}
}
return 0;
}
实现结果:
注:作者在实现本次程序时,遇到一个问题,在需要第二次输入字母时,程序没有在此处暂停执行,而是直接顺序执行,经过多次查找问题,最后明白,是在switch语句中第二次读入的是一个换行符而不是输入一个字符,因此在第一次输入字符后添加一个getchar()用来吃掉换行符。