
帮忙解答一下下面这个C程序,需要过程,谢谢
main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:p...
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);
case 4: putchar (c+3);break;}}
printf("\n");}
从第一列开始输入2743<CR>(CR代表一个回车符):
则输出结果是? 展开
{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);
case 4: putchar (c+3);break;}}
printf("\n");}
从第一列开始输入2743<CR>(CR代表一个回车符):
则输出结果是? 展开
2个回答
展开全部
#include<stdio.h>
void main()
{
int c;
while((c=getchar())!='\n')//输入字符2743回车,
{
switch(c-'2')//字符值-2,
{
case 0 ://结果为0时不做任何操作
case 1 :putchar(c+4);//结果为1时,字符结果+4输出,继续执行下一句。
case 2 : putchar(c+4);break;//结果为2时,字符结果+4输出,退出循环,判断一下字符
case 3 :putchar (c+3);
case 4: putchar (c+3);break;
}
}//遇回车结束程序,在这里回车作为输入的第五个字符处理。
printf("\n");
}
/*这里(c-'2')若为0、1时,因为后面没有break结束语句,则+4后会继续执行下一putchar(c+4);
所以,2减2会各加两次输出66;7减2=5不做操作无输出,4减2=2所以+4一次输出8遇break退出循环,3减2会各加两次输出77.*/
void main()
{
int c;
while((c=getchar())!='\n')//输入字符2743回车,
{
switch(c-'2')//字符值-2,
{
case 0 ://结果为0时不做任何操作
case 1 :putchar(c+4);//结果为1时,字符结果+4输出,继续执行下一句。
case 2 : putchar(c+4);break;//结果为2时,字符结果+4输出,退出循环,判断一下字符
case 3 :putchar (c+3);
case 4: putchar (c+3);break;
}
}//遇回车结束程序,在这里回车作为输入的第五个字符处理。
printf("\n");
}
/*这里(c-'2')若为0、1时,因为后面没有break结束语句,则+4后会继续执行下一putchar(c+4);
所以,2减2会各加两次输出66;7减2=5不做操作无输出,4减2=2所以+4一次输出8遇break退出循环,3减2会各加两次输出77.*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询