请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母.#includemain(){char i,j;printf("please enter the first letter ");scanf("%c",&i);switch(i){case 'm':printf("monday\n"); break;c

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 12:02:11

请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母.#includemain(){char i,j;printf("please enter the first letter ");scanf("%c",&i);switch(i){case 'm':printf("monday\n"); break;c
请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母.
#include
main()
{char i,j;
printf("please enter the first letter ");
scanf("%c",&i);
switch(i)
{case 'm':printf("monday\n"); break;
case 'w':printf("wednesday\n"); break;
case 'f':printf("friday\n"); break;
case 't':printf("please enter the next letter\n");
\x09 scanf("%c",&j);
\x09\x09 if (j=='u') printf("tuesday\n");
\x09\x09 if (j=='h') printf("thursday\n");break;
\x09\x09
case 's':printf("please enter the next letter\n");
\x09 scanf("%c",&j);
\x09\x09 if (j=='a') printf("saturday\n");
\x09\x09 if (j=='u') printf("sunday\n"); break;
default :printf("error\n"); break;
}
}
在要判断第二个letter时,出现了错误,无法判断了.

请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母.#includemain(){char i,j;printf("please enter the first letter ");scanf("%c",&i);switch(i){case 'm':printf("monday\n"); break;c
给你一个改动最少的方案:
#include<stdio.h>
main()
{
char letter;
printf("please input the first letter of someday\n");
while((letter=getchar())!='y')
{
fflush(stdin);//这儿加一个强制键盘缓冲区清空处理,用以清空while判断里输入时最后所带的回车
switch (letter)
{
case 's':printf("please input second letter:\n");
if ((letter=getchar())=='a')printf("saturday\n");
else if (letter=='u')printf("sunday\n"); //这儿直接判断letter,而不需要再判断letter=getchar()
else printf("Data error\n");break;
case 'f':printf("friday\n");break;
case 'm':printf("monday\n");break;
case 't':printf("please input second letter:\n");
if ((letter=getchar())=='u')printf("tuesday\n");
else if (letter=='h')printf("thursday\n"); //这儿直接判断letter,而不需要再判断letter=getchar()
else printf("Data error\n");break;
case 'w':printf("wednesday\n");break;
default:printf("error\n");
}
fflush(stdin);//这儿加一个强制键盘缓冲区清空处理,用以清空case语句里输入时最后所带的回车
}
}
上面各位说的关于强制键盘缓冲区清空处理的都是对的,主要就是要注意输入数值时,回车的影响.
但是上面各位的改造都过于复杂,主要是对于if/else语句的执行范围认识有误,
对于
if ((letter=getchar())=='a')printf("saturday\n");
这个语句,即使当前输入的第2个字符不是'a',这里if判断里的letter=getchar()也会执行的,只是=='a'判断为假,所以if分支不执行.
所以其实用户输入的第2个字符已经被接收了,所以当前letter中已经存放了用户输入的第2个字符.
因此,后面的else if需要直接判断letter,而不需要再判断letter=getchar(),这样就多接收了一个字符了

java 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母.求程序设计组成框图、流程图 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母.不知这样做是否可以,但我无法把所有的星期数输出来,请高手试一下,在原有的框架下,适当 请用第一个字母来判断输入的是星期几,如果第一个字母一样,则继续判断第二个 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母.#includemain(){char i,j;printf(please enter the first letter );scanf(%c,&i);switch(i){case 'm':printf(monday ); break;c 求大神C语言 输入星期几的第一个字母来判断一下是星期几 ,如果第一个字母一样,则继续判断第二个字母我编的程序怎么错了 不要复制别人的#includemain(){chair ch;scanf(%c,&ch);if(ch=='m')print(%c,mo 输入一个星期中的英文字母,以此判断是星期几.(提示,如果第一个字母一样,则继续判断第二个字母)c语言 一道关于判断星期几的C语言题从键盘输入星期几的第一个字母(接收字符请用getchar()),由程序判断是星期几,并显示其对应的英文单词,如果第一个字母一样,则继续判断第二个字母.星期的第 一个星期第一天是星期几 究竟星期几是一个星期的第一天? 英文中一个星期的第一天是星期几 请英语翻译句子:一个星期的第五天是星期几? 在美国一个星期当中第一天是星期几? 每个星期的第一天是星期几 每个星期的第一天是星期几? 一个星期的第一天是星期几在中国来说,是星期一or星期日 在英国,一个星期的第一天是星期几额的作业今晚就要,急 在中国,一个星期的第一天是星期几?我要准确答案