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
如果想这样往内压入数据的话, 建议学习stack
或vector
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()
读入,如果是空格或换行符就输出记录下的长度并更新。