这个C语言题目怎么做,要详细的思路

#include<stdio.h>main(){intc;while((c=getchar())!='/n'){switch(c-'2'){case0:case1:put... #include <stdio.h>
main()
{int c;
while((c=getchar())!='/n')
{switch(c-'2')
{case 0:
case 1 :putchar(c+4);
case 2:putchar(c+4);break;
case 3:putchar(c+);
default:putchar(c+2);break;
}
}printf("/n")
}
算输出结果 结果是668977
展开
 我来答
954662201
2009-08-21 · TA获得超过111个赞
知道答主
回答量:157
采纳率:0%
帮助的人:0
展开全部
1.结果如下:
668977

2.算法为:
输入c为2,或者3,则输出两次(c+4),'2'-'2'为0输出2+4.6.两次
输入c为4,则输出一次(c+4)
输入c为5,则输出一次(c+3),在输出一次(i+2)
输入c为其他,则输出一次c+2

3.c-'2'就系c的ascall码值减去‘2'对应的ascall码值,c-‘2’,可以直接用输入字符代表的数字减‘2’得到结果,例如:c=‘9’,则c-'2'相当于'9'-'2'=7

4.注意,“case 0”,“case 1”行以及“case3”行没有break,因此在执行这三种情况的时候,会继续执行接下了的情况对应的语句,直至遇到“break”语句。例如“case 0”时,会执行putchar(c+4);putchar(c+4);break;
HarrySummer
2009-08-21 · TA获得超过680个赞
知道小有建树答主
回答量:650
采纳率:0%
帮助的人:566万
展开全部
case 3:putchar(c+);
这行应该是
case 3:putchar(c++);


这是对输入一行字符串进行处理,再输出的程序。
switch是对c-'2'进行判断的
c-'2'=0或1,即输入字符串中遇到'2'或'3'时,输出两个c+4,即输出两个'6'或'7';c-'2'=2,即输入字符串中遇到'4'时,输出一个c+4,即输出一个'8';c-'2'=3,即输入字符串中遇到'5'时,先输出一个c,c再增加1,再输出c+2,即输出'5'和'8';其他情况下,将比原字符的ASCII码大2的字符输出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b173602
2009-08-21 · TA获得超过1680个赞
知道小有建树答主
回答量:1466
采纳率:0%
帮助的人:828万
展开全部
你输入是啥啊,没有输入怎么输出啊。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Oo没有蜡oO
2009-08-21 · TA获得超过3036个赞
知道小有建树答主
回答量:1602
采纳率:0%
帮助的人:1275万
展开全部
额,手机上的,回答太麻烦了,等我回去吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xdg1981
2009-08-21 · TA获得超过933个赞
知道小有建树答主
回答量:527
采纳率:0%
帮助的人:0
展开全部
什么要求阿
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式