急急急 C语言题目求解答

#include<stdio.h>main(){intk;charch,a[10],*s[10]={"one","two","three","four"};k=0;whi... #include <stdio.h>
main()
{ int k;
char ch,a[10],*s[10]={"one","two","three","four"};
k=0;
while((ch=getchar())!='\n'&&k<9)
if(ch>'5'&&ch<'8')a[k++]=ch;
a[k]='\0';
for(k=0;a[k]!='\0';k++)
printf("%s ",s['9'-a[k]-1]);

}
(22)程序运行时,输入5678,输出 (22) A、two three B、two
C、one four three D、four three two one
展开
 我来答
cuandicuandi
2010-11-18 · TA获得超过268个赞
知道答主
回答量:204
采纳率:0%
帮助的人:0
展开全部
没有答案。正确答案应该是three two

原因如下:
由于输入的是5678,而对于5、6、7、8四个数,只有6和7满足ch>'5'&&ch<'8'的条件,所以第一个循环结束后a[10]={'6','7'}。
因此当到第二个循环时,输出的只有s['9'-a[0]-1]和s['9'-a[1]-1],即s[3]和s[2](注意顺序),所以答案为three two
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式