輸入三個字串,按由小到大的順序輸出。分別使用指標和引用方式實現兩個排序函式。在主函式中輸入和輸出資料。
OJ刷題之《輸入三個字串,按由小到大的順序輸出》
題目描述
輸入
3行字串
輸出
按照從小到大輸出成3行。由指標方式實現。
按照從小到大輸出成3行。由引用方式實現。
樣例輸入
cde
afg
abc
樣例輸出
abc
afg
cde
abc
afg
cde
提示
主函式已給定如下,提交時不需要包含下述主函式
/* C++程式碼 */
int main()
{
void sort1(char *,char *,char *);
void sort2(string &,string &,string &);
char s1[100],s2[100],s3[100];
char *p1,*p2,*p3;
string r1,r2,r3;
cin>>s1>>s2>>s3;
r1=string(s1);
r2=string(s2);
r3=string(s3);
p1=s1;
p2=s2;
p3=s3;
sort1(p1,p2,p3);
cout<<s1<<endl<<s2<<endl<<s3<<endl;
sort2(r1,r2,r3);
cout<<r1<<endl<<r2<<endl<<r3<<endl;
return 0;
}
程式碼如下:
#include <iostream>
#include <cstring>
using namespace std;
void sort1(char *p1,char *p2,char *p3)
{
char temp[100];
if (strcmp(p1,p2)>0)
{
strcpy(temp,p1);
strcpy(p1,p2);
strcpy(p2,temp);
}
if (strcmp(p2,p3)>0)
{
strcpy(temp,p2);
strcpy(p2,p3);
strcpy(p3,temp);
}
if (strcmp(p1,p2)>0)
{
strcpy(temp,p1);
strcpy(p1,p2);
strcpy(p2,temp);
}
}
void sort2(string &r1,string &r2,string &r3)
{
string temp;
if (r1>r2)
{
temp=r1;
r1=r2;
r2=temp;
}
if (r2>r3)
{
temp=r2;
r2=r3;
r3=temp;
}
if (r1>r2)
{
temp=r1;
r1=r2;
r2=temp;
}
}
int main()
{
void sort1(char *,char *,char *);
void sort2(string &,string &,string &);
char s1[100],s2[100],s3[100];
char *p1,*p2,*p3;
string r1,r2,r3;
cin>>s1>>s2>>s3;
r1=string(s1);
r2=string(s2);
r3=string(s3);
p1=s1;
p2=s2;
p3=s3;
sort1(p1,p2,p3);
cout<<s1<<endl<<s2<<endl<<s3<<endl;
sort2(r1,r2,r3);
cout<<r1<<endl<<r2<<endl<<r3<<endl;
return 0;
}
對指標和引用真心覺得傻傻搞不明白。。。各種換著改,總算改出來了,而且判斷多個字串大小比較的時候需要注意順序。一次wrong answer換來的教訓,這次判斷的順序沒有和上一篇一樣,然後就錯誤了。。。只好改回來。
相關文章
- 輸入3個整數a,b,c,要求按由小到大的順序將它們輸出,用函式實現函式
- join方法應用之一——按順序輸出三個執行緒執行緒
- OJ刷題之《複製字串》字串
- 字串倒序輸出字串
- 演算法題———————輸入棧的入棧順序和出棧順序判斷是否合理演算法
- c語言: 鍵盤輸入一個n個字元的串,然後按字母表順序輸出這n個字元C語言字元
- C語言 習題2(3)有三個數a,b,c,要求按大小順序把它們輸出C語言
- 用指標編寫程式將輸入的字串倒序輸出指標字串
- 字串、整數倒序輸出字串
- C++輸出流cout的執行順序問題C++
- WIN10如何更改輸入法順序 win10怎樣修改電腦輸入法順序Win10
- python pandasDataframe按指定index名或columns名(行名或列名)順序修改輸出內容的排列順序PythonIndex
- 22道js輸出順序問題,你能做出幾道JS
- linux之shell 輸入輸出Linux
- shell程式設計(三)輸入輸出程式設計
- 輸入一段字串,去除字串中重複的字元,並輸出字串字元
- 讓 排序 按照 in 列表的的顯示順序排序輸出。排序
- ncurses輸出函式:字元+字串的輸出函式字元字串
- ncurses輸入函式:字元+字串的輸入函式字元字串
- 輸入一個三位數,輸出它各個數位之和
- 輸入輸出
- Win10怎麼調整輸入法的順序?Win10
- laravel 按照whereIn中給定陣列順序輸出Laravel陣列
- 《golang筆記》第三篇-輸入輸出Golang筆記
- 輸入輸出流
- 編寫將給定字串倒序輸出的函式[Java筆試題]字串函式Java筆試
- 資料的輸入輸出
- Python的輸入輸出Python
- Ubuntu下鍵盤輸入錯亂問題,輸入雙引號輸出的是@符號,輸入#號輸出的是未知語言的字元...Ubuntu符號字元
- 輸入一個ASCII碼,輸出對應的字元ASCII字元
- linux中的輸入與輸出管理(重定向輸入,輸出,管道符)Linux
- C++中的檔案輸入/輸出(3):掌握輸入/輸出流 (轉)C++
- 一、輸入一個數(這裡用函式實現) 1.輸出它是幾位數 2.逆序輸出 3.正序輸出函式
- 第四章 字串和格式化輸入/輸出字串
- Java IO輸入輸出及亂碼問題Java
- 【C++】輸入輸出C++
- Java 輸入輸出流Java
- 輸入輸出系統