为啥我这个代码只能输出一个字符串?
问题描述:
#include<iostream>
#include<string.h>
using namespace std;
int main(){
int n;
int x=0;
while(cin>>n){
string a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
if(x==0){
for(int i=0;i<n-1;i++){
if(a[i]=="bowl"||a[i]=="knife"||a[i]=="fork"||a[i]=="chopsticks")
cout<<a[i]<<" ";
}
if(a[n-1]=="bowl"||a[n-1]=="knife"||a[n-1]=="fork"||a[n-1]=="chopsticks")
cout<<a[n];
x=1;
}
else{
cout<<endl;
for(int i=0;i<n-1;i++){
if(a[i]=="bowl"||a[i]=="knife"||a[i]=="fork"||a[i]=="chopsticks")
cout<<a[i]<<" ";
}
if(a[n-1]=="bowl"||a[n-1]=="knife"||a[n-1]=="fork"||a[n-1]=="chopsticks")
cout<<a[n];
}
}
}
答
- 以后代码写的规范一点,更容易阅读,你这个缩进和括号的位置,容易让人产生误解。
- 比较字符串用strcmp
答
string变量可直接比较,输入一个串后,fflush试一下