一个简单的C语言问题:输入星期几首字母,判断是星期几!

我想实现一个简单的功能:就是输入星期几的第一个字母,就打印出数字几。如果第一个字母一样就输入第二个字母确认。现在遇到麻烦了:输入m打印出1,输入t,不给我输入第二个字母的... 我想实现一个简单的功能:就是输入星期几的第一个字母,就打印出数字几。 如果第一个字母一样就输入第二个字母确认。

现在遇到麻烦了:输入m打印出1,输入t,不给我输入第二个字母的机会就结束程序了.

代码如下

#include<stdio.h>
void main()
{
char i=0,a,b;
printf("Please input the 1st letter of the day:\n");

a=getchar();
if(a=='m')
i=1;
else if(a=='t')
{
printf("Please input the 2nd letter of the day:\n");
b=getchar();
if(b=='u')
i=2;
else if(b=='h')
i=4;
else;
}
printf("%d",i);
}
展开
 我来答
嘿_行
2011-04-23 · TA获得超过158个赞
知道答主
回答量:190
采纳率:0%
帮助的人:152万
展开全部
printf("Please input the 2nd letter of the day:\n");
b=getchar();在这句前加一句:getchar();即可
if(b=='u')
因为如果就这一句b=getchar();捕捉的是回车即 b='\n'所以在这句前加一句getchar将回车先捕捉
奇彩一方
2011-04-23 · TA获得超过266个赞
知道答主
回答量:195
采纳率:0%
帮助的人:156万
展开全部
我用的是DEV C++
#include<stdio.h>
#include<stdlib.h>
int main()
{
char i=0,a,b;
printf("Please input the 1st letter of the day:\n");

a=getchar();
if(a=='m')
i=1;
else if(a=='t')
{
printf("Please input the 2nd letter of the day:\n");
b=getchar();
scanf("%c",&b);
if(b=='u')
i=2;
else if(b=='h')
i=4;
else;
}
printf("%d",i);
system("pause");
}
这样就能正常运行了!!!那个getchar与scanf是有区别的!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zszscs
2011-04-23 · 超过36用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:94.4万
展开全部
#include<stdio.h>
void main()
{
char i=0,a,b;
printf("Please input the 1st letter of the day:\n");
a=getchar();
if(a=='m')
i=1;
if(a=='t')
{
printf("Please input the 2nd letter of the day:\n");
b=getchar();
if(b=='u')
i=2;
else
i=4;
}
printf("%d",i);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式