请大家帮我看看这题怎么算
#include <stdio.h>main()
{
int s;
while((s=getchar())!='\n')
{
switch(s-'2')
{
case 0:
case 1:putchar(s+4);
case 2:putchar(s+4);break;
case 3:putchar(s+3);
case 4:putchar(s+2);break;
default:putchar(s+2);
}
}
printf("\n");
}
输入2473 回车
得到668977
这668977是怎么算来的
[[it] 本帖最后由 xiaofeixia99999 于 2008-6-2 13:45 编辑 [/it]]
----------------解决方案--------------------------------------------------------
#include <stdio.h>
main()
{
int s;
while((s=getchar())!='\n') //输入2473,但是由于s=getchar();所以s='2';(依次推算s等于4,7,3的情况)
{
switch(s-'2') //'2'-'2'=0;
{
case 0: //开始执行,由于没有break,所以程序会一路到底,直到遇到break;
case 1:putchar(s+4); //输出6
case 2:putchar(s+4);break; //输出6
case 3:putchar(s+3);
case 4:putchar(s+2);break;
default:putchar(s+2);
}
}
printf("\n");
}
----------------解决方案--------------------------------------------------------
谢谢.明白了
----------------解决方案--------------------------------------------------------
是不是噢!
[url=http://www.25452.com/files/article/htm/3/3127/index]琴帝最新章节[/url]
----------------解决方案--------------------------------------------------------