第一个程序:即使去掉while循环,先后输入T u,得不到理想结果,输入 T h,得到理想结果(星期四),不知道是什么问题
不知道怎么初始化字符类型为空
/*
Name:
Copyright:
Author:
Date: 31/07/17 10:15
Description:
【程序31】题目:请输入星期几的第一个字母来判断一下是星期几,
如果第一个字母一样,则继续判断第二个字母。
?
*/
#include <stdio.h>
int main()
{
char letter;
printf("请输入星期几的第一个字母:");
letter = getchar();
// while(printf("请输入星期几的第一个字母:") && (letter = getchar()) != 'Y')
// {
switch(letter)
{
case 'M':
printf("Monday : 星期一\n\n");
break;
case 'T':
printf("请输入第二个字母:");
if((letter = getchar()) == 'u')
{
printf("Tuesday : 星期二\n\n");
break;
}
else if((letter = getchar()) == 'h')
{
printf("Thursday : 星期四\n\n");
break;
}
else
{
printf("T 第二个字母输入错误!!!\n\n");
break;
}
case 'W':
printf("Wednesday : 星期三\n\n");
break;
case 'F':
printf("Friday : 星期五\n\n");
break;
case 'S':
printf("请输入第二个字母:");
if((letter = getchar()) == 'a')
{
printf("Saturday : 星期六\n\n");
break;
}
else if((letter = getchar()) == 'u')
{
printf("Sunday : 星期天\n\n");
break;
}
else
{
printf("S 第二个字母输入错误!!!\n\n");
break;
}
default:
printf("请重新输入!!!\n\n");
break;
}
//}
return 0;
}
第二个程序:用字符数组,还是错误,找不到原因
/*
Name:
Copyright:
Author:
Date: 31/07/17 10:15
Description:
【程序31】题目:请输入星期几的第一个字母来判断一下是星期几,
如果第一个字母一样,则继续判断第二个字母。
?
*/
#include <stdio.h>
int main()
{
char letter[2];
//while(1)
//{
printf("请输入星期几的第一个字母:");
scanf("%c",&letter[0]);
switch(letter[0])
{
case 'M':
printf("Monday : 星期一\n\n");
break;
case 'T':
printf("请输入第二个字母:");
if((scanf("%c",&letter[1])) == 'u')
{
printf("Tuesday : 星期二\n\n");
break;
}
else if((scanf("%c",&letter[1])) == 'h')
{
printf("Thursday : 星期四\n\n");
break;
}
else
{
printf("T 第二个字母输入错误!!!\n\n");
break;
}
case 'W':
printf("Wednesday : 星期三\n\n");
break;
case 'F':
printf("Friday : 星期五\n\n");
break;
case 'S':
printf("请输入第二个字母:");
if((scanf("%c",&letter[1])) == 'a')
{
printf("Saturday : 星期六\n\n");
break;
}
if((scanf("%c",&letter[1])) == 'u')
{
printf("Sunday : 星期天\n\n");
break;
}
else
{
printf("S 第二个字母输入错误!!!\n\n");
}
default:
printf("请重新输入!!!\n\n");
break;
}
// }
return 0;
} 第三个程序:从网上找的, 改动一下,还是有问题。输入第一个字母没问题,但是当输入过第二个字母后,再次输入,结果都不正确
/*
Name:
Copyright:
Author:
Date: 31/07/17 10:15
Description:
【程序31】题目:请输入星期几的第一个字母来判断一下是星期几,
如果第一个字母一样,则继续判断第二个字母。
?
*/
#include<stdio.h>
int main()
{
char i,j;
while(printf("请输入第一个字母:") && scanf("%c",&i) != EOF)
{
getchar();
switch(i)
{
case 'M':
printf("Monday\n\n");
break;
case 'W':
printf("Wednesday\n\n");
break;
case 'F':
printf("Friday\n\n");
break;
case 'T':
printf("请输入下一个字母:");
scanf("%c",&j);
if (j == 'u')
{
printf("Tuesday\n\n");
break;
}
if (j == 'h')
{
printf("Thursday\n\n");
break;
}
case 'S':
printf("请输入下一个字母:");
scanf("%c",&j);
if (j == 'a')
{
printf("Saturday\n\n");
break;
}
if (j == 'u')
{
printf("Sunday\n\n");
break;
}
default :
printf("error\n");
break;
}
}
return 0;
}
运行结果:
这篇博客探讨了在C语言中根据输入的字母判断星期的问题。作者遇到三个程序实例的困难,包括如何初始化字符变量,以及字符数组和网络找到的程序代码存在的问题。在每个实例中,输入特定字母组合后,程序并未得到预期的正确输出。
941

被折叠的 条评论
为什么被折叠?



