爱你没错 发表于 2015-10-18 13:01:16

拆分输入的问题

输入一段字符串怎么按单词来拆分开来,并且每行一个单词显示(可能会用连续的空格,TAB键,或者混合 空格加tab分隔单词)
下面这个程序只能解决按正规的输入来拆分,请大神们帮忙看看应该怎么来处理非正规的输入拆分
#include <stdio.h>

int main(void)
{
        intc;
       
        while ((c = getchar()) != EOF)
        {
                if (' ' == c || '\t' == c || '\n' == c)       
                        printf("\n");               
                else
                {
                        printf("%c",c);
                }
        }       
        return 0;
}

爱你没错 发表于 2015-10-20 00:08:49

自己顶一下,求告诉解惑,不胜感激

kai759630 发表于 2017-3-6 22:24:38

本帖最后由 kai759630 于 2017-3-7 15:48 编辑

好像没必要这样啊,因为你这里条件是当输入EOF才退出循环,说明不论你输入什么字符他都以字符型存进了字符数组,分开输出这样应该就可以了吧。
#include<stdio.h>
void main()
{
      int m=0,n=0,w=1;
      char a;
      printf("请输入任意字符:\n");
      a=getchar();
      while(a!=EOF)
      {
                n++;
                a=getchar();
      }
      printf("你输入的字符是:\n");

      while(a!=EOF)
      {
                printf("第%d个字符",w);
                printf("%c\n",a);
                m++;
                w++;
      }
}

craneX 发表于 2017-3-7 13:25:23


#include <stdio.h>

int main(void)
{
      intc;
      
      while ((c = getchar()) != EOF)
      {
                if('27'!=c)
                        printf("%c",c);   
                        printf("\n");
                       
      }      
      return 0;
}
这样如何,虽然会有warning。

kai759630 发表于 2017-3-8 13:25:40

15年的贴子 我的天{:5_106:}
页: [1]
查看完整版本: 拆分输入的问题