当前位置: 代码迷 >> C语言 >> 请大家帮我看看这题怎么算
  详细解决方案

请大家帮我看看这题怎么算

热度:363   发布时间:2008-06-02 13:44:50.0
请大家帮我看看这题怎么算
#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]]
搜索更多相关的解决方案: case  putchar  break  switch  int  

----------------解决方案--------------------------------------------------------
#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]
----------------解决方案--------------------------------------------------------
  相关解决方案