追风少年_9 2022-08-09 15:15 采纳率: 78.6%
浏览 36
已结题

noi 1.7 24代码测试出错

问题遇到的现象和发生背景

24:单词的长度
总时间限制: 1000ms 内存限制: 65536kB
描述
输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。

注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。

输入
一行单词序列,最少1个单词,最多300个单词,单词之间用至少1个空格间隔。单词序列总长度不超过1000。
输出
依次输出对应单词的长度,之间以逗号间隔。
样例输入
She was born in 1990-01-02 and from Beijing city.
样例输出
3,3,4,2,10,3,4,7,5
来源
习题(7-7) 元培-From WHF

问题相关代码,请勿粘贴截图
#include<bits/stdc++.h>

using namespace std;

int ql(string s)
{
    for(int i=0;i<strlen(s.c_str());i++)
    {
        if(s[i]==' '&s[i+1]==' ')
        {
            s.erase(i,1);
            i--;
        }
    }
}

int main()
{
    string s;
    getline(cin,s);
    ql(s);
    int g=0,zg[300]={0};
    for(int i=0;i<strlen(s.c_str());i++)
    {
        if(s[i]!=' ')
        {
            zg[g]++;
        }
        else
        {
            g++;
        }
    }
    bool f=true;
    for(int i=0;i<300;i++)
    {
        if(zg[i]!=0)
        {
            if(f==true)
            {
                cout<<zg[i];
                f=false;
            }
            else
            {
                cout<<','<<zg[i];
            }
        }
    }
    return 0;
}

运行结果及报错内容

试运行没问题,但在OJ上就runtime error了

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-08-09 16:46
    关注


    if(s[i]==' '&&s[i+1]==' ')
    不是
    if(s[i]==' '&s[i+1]==' ')
    ===========
    &&是逻辑与,&是位与

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月20日
  • 已采纳回答 8月12日
  • 修改了问题 8月10日
  • 创建了问题 8月9日

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘