当前位置: 代码迷 >> C语言 >> 简单问题求助
  详细解决方案

简单问题求助

热度:141   发布时间:2008-05-06 11:50:41.0
简单问题求助
编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
#include<stdio.h>
char c;
int n = 0;

main()
{
    c = getchar();
    while(c != 'p')
    {
        if(c == ' ')
        {
            ++n;
            if(n >= 2)
                c = getchar();
            else
                putchar(c);
        }
        else
        {
            putchar(c);
            n = 0;
        }
        c = getchar();
    }
}
编写了如下程序,却不能代替连续的空格,请指教。
搜索更多相关的解决方案: 简单问题  getchar  空格  else  putchar  

----------------解决方案--------------------------------------------------------
先看看

[[it] 本帖最后由 死了都要C 于 2008-5-6 12:01 编辑 [/it]]
----------------解决方案--------------------------------------------------------
#include<stdio.h>
char c;
int n = 0;

main()
{
    c = getchar();
    while(c != 'p')
    {
        if(c == ' ')
        {
            ++n;
            if(n >= 2)
                ;//c = getchar();//次句不要,因为下面已经有getchar了
            else
                putchar(c);
        }
        else
        {
            putchar(c);
            n = 0;
        }
        c = getchar();
    }
}
----------------解决方案--------------------------------------------------------
/********************************************************
** Highlight software by yzfy(雨中飞燕) http://yzfy.org *
*********************************************************/
#include<stdio.h>

int main()
{
    int c;
    while ((c=getchar()) != '\n')
    {
        if (c == ' ')
        {
            while ((c=getchar()) == ' ');
            putchar(' ');
        }
        putchar(c);
    }
    return 0;
}


[color=white]
----------------解决方案--------------------------------------------------------
试下这个:

#include<stdio.h>

int main(void)
{
    char c ;

    while( ( c = getchar() ) != 'p' )
    {
         putchar(c);

         if (  c == ' ' )
         {
            while( ( c = getchar() ) == ' ' ) ;
            
            if ( c == 'p' ) break ;

            putchar(c);

         }
    }

    return 0 ;
}

[[it] 本帖最后由 死了都要C 于 2008-5-6 12:19 编辑 [/it]]
----------------解决方案--------------------------------------------------------
总有先一步的```看看燕子的
----------------解决方案--------------------------------------------------------
还是燕子的简洁多了``
----------------解决方案--------------------------------------------------------
哎,昨天被人一批评,当改错做了……
下次要坚持自己的个性,给出自己的代码- -
----------------解决方案--------------------------------------------------------
谢谢各位高手和热心的人,“StarWing83”谢谢你,其实我不但想要正确的程序,更希望高手能指出我程序的错误,毕竟是想知道错误在哪里,所以谢谢你指出我程序的错误,虽然还没有验证对不对,呵呵
----------------解决方案--------------------------------------------------------
各位都是高手和热心人,谢谢各位,你们我有信心学习编程。(不是客套话,真心谢谢,呵呵)
----------------解决方案--------------------------------------------------------
  相关解决方案