#include <stdio.h>
void main()
{
char letter;
printf("please input the first letter of someday\n");
while ((letter=getchar())!='Y')/*当所按字母为Y时才结束*/
{
switch (letter)
{
case 'S':printf("please input second letter\n");
if((letter=getchar())=='a')
printf("saturday\n");
else if ((letter=getchar())=='u')
printf("sunday\n");
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=getchar())=='h')
printf("thursday\n");
else printf("data error\n");
break;
case 'W':printf("wednesday\n");break;
default: printf("data error\n");
}
}
}
----------------解决方案--------------------------------------------------------
当输入S时,显示提示输入第二个字母,当输入a时没有显示saturday,输入T也有同样的情况。我是初学者,请高手帮助
----------------解决方案--------------------------------------------------------
too hard
----------------解决方案--------------------------------------------------------
请高手诊断为什么会出错!
#include <stdio.h>
void main()
{
char letter;
printf("please input the first letter of someday\n");
while ((letter=getchar())!='Y')/*当所按字母为Y时才结束*/
{
switch (letter)
{
case 'S':printf("please input second letter\n");
if((letter=getchar())=='a') //我感觉楼主不应该这样赋值啊!
printf("saturday\n");
else if ((letter=getchar())=='u')
printf("sunday\n");
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=getchar())=='h')
printf("thursday\n");
else printf("data error\n");
break;
case 'W':printf("wednesday\n");break;
default: printf("data error\n");
}
}
}
----------------解决方案--------------------------------------------------------
怎样赋值啊!
----------------解决方案--------------------------------------------------------
楼主,你这程序是,输入一个星期几的大写字母,输出完整的英文单词
----------------解决方案--------------------------------------------------------
请高手诊断为什么会出错!
#include <stdio.h>
void main()
{
char letter;
printf("please input the first letter of someday\n");
while ((letter=getchar())!='Y')/*当所按字母为Y时才结束*/
{
switch (letter)
{
case 'S':printf("please input second letter\n");
if((letter=getchar())=='a')
printf("saturday\n");
else if ((letter=getchar())=='u')
printf("sunday\n");
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=getchar())=='h')
printf("thursday\n");
else printf("data error\n");
break;
case 'W':printf("wednesday\n");break;
default: printf("data error\n");
}
}
}
楼主在case 'S'后面加个getchar();试试
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void main()
{
char letter;
printf("please input the first letter of someday\n");
while ((letter=getchar())!='Y')/*当所按字母为Y时才结束*/
{
switch (letter)
{
case 'S':printf("please input second letter\n");
getchar();
if((letter=getchar())=='a')
printf("saturday\n");
else if ((letter=getchar())=='u')
printf("sunday\n");
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=getchar())=='h')
printf("thursday\n");
else printf("data error\n");
break;
case 'W':printf("wednesday\n");break;
default: printf("data error\n");
}
}
}
第一个saturday通过,sunday没通过!
----------------解决方案--------------------------------------------------------
判断sunday的时候用 if(letter=='u')
而你用的是给letter重新赋值。
#include <stdio.h>
void main()
{
char letter;
printf("please input the first letter of someday\n");
while ((letter=getchar())!='Y')/*当所按字母为Y时才结束*/
{
switch (letter)
{
case 'S':printf("please input second letter\n");
getchar();
if((letter=getchar())=='a')
printf("saturday\n");
else if (letter=='u')
printf("sunday\n");
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");
else printf("data error\n");
break;
case 'W':printf("wednesday\n");break;
default: printf("data error\n");
}
}
}
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void main()
{
char letter;
printf("please input the first letter of someday\n");
while ((letter=getchar())!='Y')/*当所按字母为Y时才结束*/
{
switch (letter)
{
case 'S':printf("please input second letter\n");
getchar();
if((letter=getchar())=='a')
printf("saturday\n");
else if (letter=='u')
printf("sunday\n");
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");
getchar();
if((letter=getchar())=='u')
printf("tuesday\n");
else if (letter=='h')
printf("thursday\n");
else printf("data error\n");break;
case 'W':printf("wednesday\n");break;
default: printf("data error\n");
}
}
}
谢谢横眉冷对,这个程序是完全通过的程序,愿与大家分享。
----------------解决方案--------------------------------------------------------