| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 823 人关注过本帖
标题:[求助]编译通过,但输入第二个字母无显示!
只看楼主 加入收藏
chenkuiyu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-8-11
收藏
 问题点数:0 回复次数:11 
[求助]编译通过,但输入第二个字母无显示!
请高手诊断为什么会出错!
#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");
}
}
}

搜索更多相关主题的帖子: 字母 编译 输入 
2006-08-11 10:06
chenkuiyu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-8-11
收藏
得分:0 
当输入S时,显示提示输入第二个字母,当输入a时没有显示saturday,输入T也有同样的情况。我是初学者,请高手帮助
2006-08-11 10:10
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
too hard

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-08-11 10:14
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 
以下是引用chenkuiyu在2006-8-11 10:06:10的发言:
请高手诊断为什么会出错!
#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");
}
}
}


[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-08-11 10:17
chenkuiyu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-8-11
收藏
得分:0 
怎样赋值啊!
2006-08-11 10:36
ridwsc
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-8-10
收藏
得分:0 

楼主,你这程序是,输入一个星期几的大写字母,输出完整的英文单词


中国加油,加油,加油~~~~~ 我行~~我可以~~C
2006-08-11 10:39
横眉冷对
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2005-3-3
收藏
得分:0 
以下是引用chenkuiyu在2006-8-11 10:06:10的发言:
请高手诊断为什么会出错!
#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();试试


MSN:jyycom@ 爱好:军事,体育,Rock。
2006-08-11 10:51
chenkuiyu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-8-11
收藏
得分:0 

#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没通过!
2006-08-11 11:07
横眉冷对
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2005-3-3
收藏
得分:0 

判断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");
}
}
}


MSN:jyycom@ 爱好:军事,体育,Rock。
2006-08-11 11:26
chenkuiyu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-8-11
收藏
得分:0 
#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");
}
}
}

谢谢横眉冷对,这个程序是完全通过的程序,愿与大家分享。
2006-08-11 12:56
快速回复:[求助]编译通过,但输入第二个字母无显示!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020368 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved