豆梨菜 2023-12-04 00:32 采纳率: 0%
浏览 2

PTA 分词并显示 为什么在PTA上是编译错误,具体怎么改


#include <stdio.h>
/* userCode(<80字符): 自定义函数之原型声明 */
void Input ( char *str );
int Split_Count ( char *str,char **pStr );

int main(void)
{
    char String[81]={0}, *pString[45];
    int i=0, count;
    
    Input(String);
    
    count = Split_Count(String,  pString);
     
    printf("%d Words: ", count);
    for (i=0; i<count-1; i++)
    {
         printf("%s-", pString[i]);
    }
    printf("%s", pString[count-1]);
    putchar('\n');
    return 0;
}
/* 请在这里填写答案 */
void Input ( char *str )
{
    gets(str);
}
int Split_Count ( char *str,char **pStr )
{
    int i,k=0,j=0;
    for(i=0;str[i]!='\0';i++)
    {
        if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
        {
            pStr[k][j++]=str[i];
        }
        else
        {
            if(j>0)
            {
                k++;
                j=0;
            }
        }
    }
    return k;
}
  • 写回答

3条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-12-04 02:05
    关注

    【以下回答由 GPT 生成】

    #include <stdio.h>
    #include <string.h> // 添加这行代码以使用strcpy函数
    
    void Input (char *str);
    int Split_Count (char *str, char **pStr);
    
    int main(void)
    {
        char String[81]={0}, *pString[45];
        int i=0, count;
    
        Input(String);
    
        count = Split_Count(String, pString);
    
        printf("%d Words: ", count);
        for (i=0; i<count-1; i++)
        {
             printf("%s-", pString[i]);
        }
        printf("%s", pString[count-1]);
        putchar('\n');
        return 0;
    }
    
    void Input (char *str)
    {
        gets(str); // gets函数不安全,建议使用fgets函数
    }
    
    int Split_Count (char *str, char **pStr)
    {
        int i,k=0,j=0;
        for(i=0; str[i]!='\0'; i++)
        {
            if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
            {
                pStr[k][j++]=str[i];
            }
            else
            {
                if(j>0)
                {
                    pStr[k][j]='\0'; // 在单词结束时添加字符串结尾符号
                    k++;
                    j=0;
                }
            }
        }
        pStr[k][j]='\0'; // 在最后一个单词结束时添加字符串结尾符号
        k++; // 将最后一个单词计入统计
        return k;
    }
    


    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 12月4日

悬赏问题

  • ¥15 如何在vue3中使用div标签时用background-image: url("'templates/demo/src/assets/医院名称.jpg'")页面不显示背景图片?
  • ¥15 运动会成绩管理系统的设计与实现
  • ¥15 matlab支持向量机使用错误
  • ¥99 利用C/C++语言,使用TCP/IP协议,编一个简易聊天程序
  • ¥15 如何使用python 实现对串口/dev/ttyUSB0进行上锁,使得该串口只能在一个python脚本中使用,其他脚本不能操作这个串口
  • ¥15 晶体塑性有限元——Damask求解
  • ¥30 设计一个图形用户界面来控制你机械臂的运动
  • ¥30 3d打印机无法识别到SD卡,如何解决?(相关搜索:格式化)
  • ¥15 前端返回pdf时不显示内容
  • ¥50 如何在不能联网影子模式下的电脑解决usb锁