|
2鱼币
#include<stdio.h>
#include<ctype.h>
#include<stdlib.h>
main()
{
char le,er,san;
printf("请输入请输入星期的第一个字母M,T,W,F,S\n");
le=getchar();
le=toupper(le);
if(le!='S' && le!='F' && le!='M' && le!='T' && le!='W' )
{ printf("您输入有误");
exit(0);
}
switch(le)
{ case 'M':printf("Monday\n");break;
case 'W':printf("Wensday\n");break;
case 'F':printf("Friday\n");break;
case 'S':
{ printf("请在输入第二个字母a,u\n");
er=getch(); \*这里只能用getch函数和getche函数,如果用getchar就不执行,直接越过此函数执行了,想不通啊!\*
er=tolower(er);
switch(er)
{ case 'a':printf("Saturday\n");break;
case 'u':printf("Sunday\n");break;
default :printf("输入有误!\n");
}break;
}break;
case 'T':
{
printf("请在输入第二个字母u,h\n");
san=tolower(getch());
switch(san)
{ case 'T':printf("Tuesday\n");break;
case 'h':printf("Thursday\n");break;
default :printf("您输入有误!\n");
}break;
}break;
}
}
|
最佳答案
查看完整内容
这个问题很简单啦。
1.首先呢,你在开头的代码是:
char le,er,san;
printf("请输入请输入星期的第一个字母M,T,W,F,S\n");
le=getchar();
这时候,你的输入,肯定是一个字母加上回车。然而呢,你的getchar()只是把字母读走啦,这时候在标准输入流里,就还有一个回车在那里放着,等待着被读取。
2.接着,你又有如下代码:
printf("请在输入第二个字母a,u\n");
er=getch(); ...
|