PAT乙级题1009有错

煮咖啡的猪i 2017-09-22 11:52:49
我在写PAT乙级1009说反话题的过程中,遇到两个测试点一直过不去,测试点1和测试点2,0和4是正确的。也不知道是哪里出了问题。请各位大神帮忙看看。
以下是我的代码:
#include <iostream>
#include <string>
using namespace std;
int main(){
int i;
int j=-1;
int k;
string str1;
int num[1000]={-1};
getline(cin,str1);
for(i=0;i<str1.size();i++){
if(str1[i]==' '){
num[++j]=i;//统计出有几个空格
}
}
k=num[j]+1;
while(k<str1.size())
{
if(str1[k]!=' '){
cout<<str1[k++];
}

}
if(num[j]+1<str1.size()){
cout<<" ";
}
while(j>0)
{
j--;
for(k=num[j]+1;k<num[j+1];k++){
if(str1[k]!=' '){
cout<<str1[k];
}
}
if(str1[num[j]+1]!=' '){
cout<<" ";
}
}
for(i=0;i<num[0];i++){
if(str1[i]!=' '){
cout<<str1[i];
}
}
return 0;
}
...全文
116 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2017-09-25
  • 打赏
  • 举报
回复
看不懂楼主的逻辑是要做什么? 统计空格的个数,不是用一个计数器就可以了吗?为什么还要用数组呢。
  • 打赏
  • 举报
回复
重复的题目?跟踪调试是必备技能。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧