CE求正确代码

B2120 单词的长度

Harry_STEAM @ 2023-01-10 12:18:17

#include<bits/stdc++.h>
using namespace std;
int main(){
    string a,word;
    int s;
    getline(cin,a);
    for(int i=1;i<=a.length();i++){
        if(a[i]!=' ')
            strcpy(word,a[i]);
        if(a[i]==' ')&&(a[i-1]!=' '){
            s=word.length();
            cout<<s;
        }
        else
            continue;
    }
    return 0;
}

by Harry_STEAM @ 2023-01-10 12:19:00

有人这道题满分吗,发一下代码


by ZQIN_P @ 2023-01-10 12:20:30

@Harry_STEAM 请不要直接这样求解答...

我可以帮您看看问题...代码还是用您自己的吧


by ZQIN_P @ 2023-01-10 12:23:26

@Harry_STEAM 第9行不存在从 "std::string" 到 "char *" 的适当转换函数


by Harry_STEAM @ 2023-01-10 12:24:33

什么意思?


by ZQIN_P @ 2023-01-10 12:25:37

如果想这样往内压入数据的话, 建议学习stackvector


by ZQIN_P @ 2023-01-10 12:26:29

string的元素默认是不可以对其的单个下标进行修改的


by Harry_STEAM @ 2023-01-10 12:27:02

额好吧


by ZQIN_P @ 2023-01-10 12:28:56

其实有一种非常简单的解法, 用cin不断读入被空格分开的单词, 输出长度后继续读入, 直到无法读入为止


by ZQIN_P @ 2023-01-10 12:30:07

@Harry_STEAM


by 心灵震荡 @ 2023-01-10 13:06:14

@Harry_STEAM 或者一直 getchar() 读入,如果是空格或换行符就输出记录下的长度并更新。


|