PAT乙级题1009有错
我在写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;
}