思路
先输入string类型变量,一个字符一个字符判断,遇到满足要求的字符,就计数,判断到空格就输出。
刚开始我是这么写的
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string a;
int b[1001],c=0;
for(int i=0;;i++){
cin>>a;
b[i]=a.length();
c++;
if(a[a.length()-1]=='.') break;
}
for(int i=0;i<c;i++){
if(i==c-1)cout<<b[i];
else cout<<b[i]<<",";
}
return 0;
}
看起来没问题
可一交到洛谷
很明显,有其他情况
找情况
1、可能字符串不是以“.”结尾
2、可能输出时 并没有去掉末尾的“,”
上正确代码
#include<iostream>//头文件
#include<cstring>
using namespace std;
int main(){
string a;
int c=0;
bool d=true;
getline(cin,a);//整行输入
for(int i=0;i<a.length();i++){
if(a[i]==' '){//遇空格就输出
cout<<c<<",";
c=0;//清0
}else{//否则c加1
c++;
}
}
cout<<c<<endl;//输出
return 0;
}
这是我第一次发博客,有问题评论留言。