C++输入问题,不知怎样解决!
是为了比较三个字符串的,但不知道为什么cin语句不能输入字符串!苦思很久不得其解呀!!请高手帮助解答!
#include<iostream>
#include<string>
using namespace std;
int main()
{
char str[10];
int i;
char a,b,c;
char str1[10],str2[10],str3[10];
cout<<"请输入三个字符串:"<<endl;
cin>>str1[10];
cin>>str2[10];
cin>>str3[10];
for(i=0;((a=str1[i]!='0')&&(b=str2[i]!='0')&&(c=str3[i]!='0'));i++)
{
if(a<b)
{
if(b<c);
else
{
str[10]=str1[10];
str1[10]=str2[10];
str2[10]=str[10];
}
}
else
{
str[10]=str2[10];
str2[10]=str3[10];
str3[10]=str[10];
}
}
cout<<str1[10]<<'/t'<<str2[10]<<'/t'<<str3[10]<<endl;
system("pause");
}
[解决办法]
[code=C/C++][/code]
#include<iostream>
#include<string>
using namespace std;
void max(string &,string &);
void main()
{
string str1,str2,str3;
cout<<"请输入三个字符串:"<<endl;
cin>>str1;
cin>>str2;
cin>>str3;
max(str1,str2);
max(str1,str3);
max(str2,str3);
cout<<str1<<'\t'<<str2<<'\t'<<str3<<endl;
}
void max(string &a,string &b)
{
int i;
string str;
for(i=0;a[i]!=0||b[i]!=0;i++)
{
if(a[i]>b[i])
{
str=a;
a=b;
b=str;
break;
}
else if(a[i]<b[i])
{
break;
}
else
continue;
}
}
请输入三个字符串:
mylove
mylost
mylist
mylist mylost mylove
Press any key to continue
请输入三个字符串:
myname
yourname
theyname
myname theyname yourname
Press any key to continue
不知道能否适合