这个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 展开
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 展开
5个回答
展开全部
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;
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;
展开全部
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的字符输出。
这行应该是
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的字符输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你输入是啥啊,没有输入怎么输出啊。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
额,手机上的,回答太麻烦了,等我回去吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么要求阿
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询