本科生进化 2023-02-03 19:31 采纳率: 33.3%
浏览 180
已结题

1375 :单词处理【C/C++/Java/Python】

题目描述
给定一个由英文字符、数字、空格和英文标点符号组成的字符串,长度不超过2000,请将其切分为单词,要求去掉所有的非英文字母,每行输出一个单词。
例如有文本:Python was created in 1990 by Guido van Rossum at Stichting Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands.
处理完成之后得到以下单词:

Python
was
created
in
by
Guido
van
Rossum
at
Stichting
Mathematisch
Centrum
CWI
see
http
www
cwi
nl
in
the
Netherlands
问题:在编程训练系统中测评完成率只有10%,我在VS上运行时得出的结果是正常的,想知道是哪里出的问题。********
我的代码:

#include"stdio.h"
int hanshu(char ch)
{
    if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
int main()
{
    char ch[2000];
    fgets(ch, 2000, stdin);
    int i = 0;
    int flag = 0;
    int f = 1;
    while (ch[i] != '\n')
    {
         if (hanshu(ch[i])==1)
        {
            printf("%c", ch[i]);
            f = 0;
          
        }
        else if(f==0&&hanshu(ch[i])==0)
        {
             flag = 1;
            
        }
         if (flag == 1 && f == 0)
         {
             if (ch[i + 1] != '\n')
             {
                 printf("\n");
                 flag = 0;
                 f = 1;
             }
         }
         i++;
    }
    return 0;
}

  • 写回答

2条回答 默认 最新

  • 本科生进化 2023-02-03 20:47
    关注

    正确答案

    #include <stdio.h>
    #include <stdlib.h>
    
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    
    int main(int argc, char *argv[]) {
        int h=0,i;
        char ch[2000];
        gets(ch);
        for(i=0;ch[i]!='\0';i++){
            if((ch[i]>='a'&&ch[i]<='z')||(ch[i]>='A'&&ch[i]<='Z'))
            {
                if(h!=0)
                {
                    printf("\n");
                    h=0;
                }
                printf("%c",ch[i]); 
            }
            else
            {
                h++;
            }
        }
        
    
        
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月3日
  • 已采纳回答 2月3日
  • 修改了问题 2月3日
  • 创建了问题 2月3日

悬赏问题

  • ¥15 ansys electronics 2021 R1安装报错,错误代码2,如图
  • ¥30 搭建面包板由NE555N和SN74LS90N组成的计时电路时出了问题
  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同