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+3);
default :putchar(c+2);break;
}
}
printf("\n");
从第一列开始输入数据:2473<CR>.输出结果是多少?答案是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+3);
default :putchar(c+2);break;
}
}
printf("\n");
从第一列开始输入数据:2473<CR>.输出结果是多少?答案是668977…希望有详细过程…谢谢 展开
展开全部
你用下面代码运行一下会明白的:
#include <stdio.h>
void main()
{
int c;
while((c=getchar())!='\n')
{
printf( "\n%d\n" , c-'2' );
switch(c-'2')
{
case 0 :
case 1 :putchar(c+4);
case 2 :putchar(c+4);break;
case 3 :putchar(c+3);
default :putchar(c+2);break;
}
}
printf("\n");
}
其实2473是四个字符
字符 2 减去2 为0 这是运行case 0 1 2
结果输出66
字符 4 减去2 为2 运行case2 输出8
字符7 减去2 为5 这是运行defualt 输出9
字符3 减去2 等于1 执行case1 2 输出77
全部过程就是这样 不知道说明白没!
#include <stdio.h>
void main()
{
int c;
while((c=getchar())!='\n')
{
printf( "\n%d\n" , c-'2' );
switch(c-'2')
{
case 0 :
case 1 :putchar(c+4);
case 2 :putchar(c+4);break;
case 3 :putchar(c+3);
default :putchar(c+2);break;
}
}
printf("\n");
}
其实2473是四个字符
字符 2 减去2 为0 这是运行case 0 1 2
结果输出66
字符 4 减去2 为2 运行case2 输出8
字符7 减去2 为5 这是运行defualt 输出9
字符3 减去2 等于1 执行case1 2 输出77
全部过程就是这样 不知道说明白没!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先输入一个字符WHILE是判断它是否是\N的,如果是就不参加循环 ,不是就进行c-'2',如果它等于零就直接跳出,等于1就让c加4,让后接着参加case2的c+4,最后跳出。如果等于c-2直接等于2就直接算case2的算法。c-2等于3就算case3的,让后接着算default的算法,如果c-2不等于0,1,2,3就直接算default的算法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在键盘上输入,遇到回车结束,然后也就是ASCII值传给了C,然后根据这个C的值减去2,在switch语句里选择。
遇到break退出!
遇到break退出!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要过程,你单步跟踪啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询