要求:从键盘上输入3个字符串,从大到小排序进行输出。利用拷贝函数和比较函数实现。C++

#include <iostream.h>
#include <string.h>
void main( )
{
char str1[6],str2[6],str3[6],temp[6];
cout<<"Please input 3 strings:"<<endl;
cin>>str1>>str2>>str3;
//自己写排序过程。
cout<<"str1:"<<str1<<endl;
cout<<"str2:"<<str2<<endl;
cout<<"str3:"<<str3<<endl;

#include <iostream>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
 char str1[6], str2[6], str3[6], temp[6];
 cout<<"Please input  3 strings:"<<endl;
 cin>>str1>>str2>>str3;   
 //////////////////////////////////////////////////
 //排序过程 
 //如果str1比str2小,二者交换,结果 str1 > str2
 if( strcmp(str1,str2) < 0)
 {
  strcpy(temp, str1);
  strcpy(str1, str2);
  strcpy(str2, temp);
 }
 //str2 与 str3 比较,如果str3比str2小,即str3最小,不用交换;否则str2最小,str2与str3交换
 if( strcmp(str2,str3) < 0)
 {
  strcpy(temp, str2);
  strcpy(str2, str3);
  strcpy(str3, temp);
  //此时的str2与str3交换过, 还需要跟str1比较一次。
  if( strcmp(str1,str2) < 0)
  {
   strcpy(temp, str1);
   strcpy(str1, str2);
   strcpy(str2, temp);
  }
 }
 //////////////////////////////////////
 cout<<"str1:"<<str1<<endl; 
 cout<<"str2:"<<str2<<endl; 
 cout<<"str3:"<<str3<<endl;

 return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答