输入3个字符串,按由小到大的顺序输出。 C++

2016-06-23 15:32:17  分类: c++程序设计第三版谭浩强课后答案  参与:

C++编程,要求用指针或引用方法处理:输入3个字符串,按由小到大的顺序输出。

以下是此题的【c++源代码】

方法1,用字符数组方法:

#include <iostream>
#include <cstring>
using namespace std;
int main()
 {void swap(char *,char *);
  char str1[20],str2[20],str3[20];
  cout<<"input three line:"<<endl;
  gets(str1);
  gets(str2);
  gets(str3);
  if(strcmp(str1,str2)>0)  swap(str1,str2);
  if(strcmp(str1,str3)>0)  swap(str1,str3);
  if(strcmp(str2,str3)>0)  swap(str2,str3);
  cout<<endl<<"Now,the order is:"<<endl;
  cout<<str1<<endl<<str2<<endl<<str3<<endl;
  return 0;
 }
 void swap(char *p1,char *p2)          /* 交换两个字符串 */
 {char p[20];
  strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);
 }

方法2,用string方法,程序中使用了指针和引用

#include <iostream>
#include <string>
using namespace std;
int main()
 {void change(string &,string &);
  string str1="                 ",
      str2="                 ",
   str3="                 ";
  char *p1=&str1[0],*p2=&str2[0],*p3=&str3[0];
  cout<<"input three line:"<<endl;
  gets(p1);
  gets(p2);
  gets(p3);
  if(str1>str2)change(str1,str2);
  if(str1>str3)change(str1,str3);
  if(str2>str3)change(str2,str3);
  cout<<endl<<"Now,the order is:"<<endl;
  cout<<str1<<endl<<str2<<endl<<str3<<endl;
  return 0;
 }
 void change(string &st1,string &st2)          /* 交换两个字符串 */
 {string st;
  st=st1;st1=st2;st2=st;
 }


 

来源:c++程序设计第三版谭浩强课后答案

本文链接:http://www.wb98.com/cjia/post/cjia_6.2.html


本站文章搜索:

<< 上一篇下一篇 >>

搜索

Tags列表

赞助商链接