OpenJudge計算概論-字符串排序

/*======================================================================
字符串排序
總時間限制: 1000ms 內存限制: 65536kB
描述
參考整數排序方法,設計一種為字符串排序的算法,將字符串從小到大輸出
輸入
第一行為測試數據組數t, 后面跟著t組數據。每組數據第一行是n,表示這組數據有n行字符串,接下來是要排序的n行字符串。每行字符串的字符個數不會大于200, n < 100。
輸出
對于每組數據,輸出排好序的字符串,每組輸出后要多輸出一個空行
樣例輸入
2
2
Hello
World
4
I
Love
C
Language!
樣例輸出
Hello
WorldC
I
Language!
Love


思路:
對t組數據的每一組,可以輸入整組數據到二維的char數組(注意:二維的char數組的a[i]相當于第i行的首地址,所以可以gets(a[i]))
輸入一組數據后對其排序,可以考慮用任何一種排序,下面代碼使用選擇排序。 ========================================================================
*/
 1 #include<stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5     int t,n;
 6     int k,i,j,m;
 7     char a[101][201],temp[201];
 8     freopen("5.in","r",stdin);
 9     //freopen("result.out","w",stdout);
10     scanf("%d",&t);
11     for(k=0;k<t;k++)
12     {
13         scanf("%d",&n);
14         getchar();//接收上一行scanf的回車符 
15         for(i=0;i<n;i++)
16             gets(a[i]);//scanf("%s",a[i]);無法接收含有空格的字符串,所以這個題用scanf會Wrong Answer。 
17         //下面是選擇排序
18         for(i=0;i<n-1;i++)
19         {
20             m=i;
21             for(j=i+1;j<n;j++)
22             {
23                 if(strcmp(a[j],a[m])<0)
24                 {
25                     m=j;
26                 }
27             }
28             if(i!=m)//這里交換兩行字符串
29             {
30                 strcpy(temp,a[i]);
31                 strcpy(a[i],a[m]);
32                 strcpy(a[m],temp);
33             }
34         }
35         //下面輸出結果
36         for(i=0;i<n;i++)
37             printf("%s\n",a[i]);
38         if(k!=t-1) printf("\n");/**/
39     }
40     return 0;
41 }

?

轉載于:https://www.cnblogs.com/huashanqingzhu/p/3503798.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260933.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260933.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260933.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Window7+vs2008+QT環境搭建

記錄下自己是如何搭建QT開發環境的&#xff0c;備忘吧。操作系統&#xff1a;win7&#xff0c;其實winXP&#xff0c;win7都沒有關系&#xff1b;我使用的機器安裝的操作系統是win7&#xff1b;開發環境是VS&#xff0c;使用2005,2008,2010或者即將發布的2011都行&#xff1b;因…

history命令

1. 歷史命令不會無休止的保存下去&#xff0c;默認的最大保存量為1000條輸入&#xff1a;echo $HISTSIZE1000條從profile文件中定義的&#xff0c;可以在里面修改保存數量。/etc/profile用于整個系統所有用戶&#xff0c; ~/.bash_profile, ~/.profile和~/.bashrc 用于各個用戶…

Javascript創建對象的幾種方式?

javascript 中常見的創建對象的幾種方式&#xff1a; 1. 使用Object構造函數創建&#xff1b; 使用Object構造函數來創建一個對象&#xff0c;下面代碼創建了一個person對象&#xff0c;并用兩種方式打印出了Name的屬性值。 var person new Object(); person.name"kevin&…

使用DIV之后 table何去何從

表格并非雞肋 相反是一道大餐 XHTML標準中的一些元素分為三大類&#xff1a; 輔助布局設計元素&#xff1a;DIV SPAN 這類元素的主要功能是用來布局整個頁面的&#xff0c;靈活使用這些元素的各種屬性&#xff0c;可以讓你的頁面表現豐富多彩。結構化元素或信息元素&#xff1…

使用 RMAN 同步數據庫

使用 RMAN 同步數據庫使用 RMAN 同步數據庫一&#xff0e;概述二 操作步驟(一)&#xff0e;把生產庫置為歸檔模式(二).啟動rman做數據庫0級備份(三)&#xff0e;修改生產庫數據庫到未歸檔(四)&#xff0e;拷貝備份集到測試庫(五).在測試庫上的操作一&#xff0e;概述 因項目組遇…

解決 用戶'sa'登錄失敗。錯誤:18456 問題

問題描述&#xff1a;用戶sa登錄失敗。錯誤:18456 產生原因&#xff1a;由于服務器身份驗證模式為‘Windows 身份驗證模式’&#xff0c;所以導致登錄失敗 解決方案&#xff1a; 1.使用‘Windows 身份驗證模式’登錄服務器 2.打開‘對象資源管理器’&#xff0c;右鍵根節點…

js實現圖片上傳預覽及進度條

js實現圖片上傳預覽及進度條 原文js實現圖片上傳預覽及進度條 最近在做圖片上傳的時候&#xff0c;由于產品設計的比較fashion&#xff0c;上網找了比較久還沒有現成的&#xff0c;因此自己做了一個&#xff0c;實現的功能如下&#xff1a; 1&#xff1a;去除瀏覽器<input …

webapi文檔描述-swagger

最近做的項目使用mvcwebapi&#xff0c;采取前后端分離的方式&#xff0c;后臺提供API接口給前端開發人員。這個過程中遇到一個問題后臺開發人員怎么提供接口說明文檔給前端開發人員,最初打算使用word文檔方式進行交流&#xff0c;實際操作中卻很少動手去寫。為了解決這個問題&…

《推薦系統實踐》樣章:如何利用用戶標簽數據

《推薦系統實踐》樣章&#xff1a;如何利用用戶標簽數據 推薦系統的目的是聯系用戶的興趣和物品&#xff0c;這種聯系需要依賴于不同的媒介。GroupLens在文章1中認為目前流行的推薦系統基本上通過三種方式來聯系用戶興趣和物品。如圖1所示&#xff0c;第一種方式是通過用戶喜歡…

應用程序創建自己的奔潰轉儲(crash dump)文件

1、注冊自定義的UnhandledExceptionFilter&#xff0c;C/C Runtime Library下需要注意自定義handler被移除&#xff08;hook kernel32.dll的SetUnhandledExceptionFilter使它返回一個空指針即可&#xff09;。 PTOP_LEVEL_EXCEPTION_FILTER v_prevUnhandledExceptionFilter;…

jqMobi + Android 試手

忙活的一個晚上&#xff0c;搞定了一個界面&#xff0c;主要在滾動條和風格上花了不少時間&#xff0c;jqMobi的文檔真的少的可憐&#xff0c;希望文檔可以多點&#xff0c;以下是幾份參考資料&#xff1a; 最新的Api參考&#xff1a;http://www.shareach.com/jq/一些簡單的范例…

STM32 基于正電原子開發板,改換芯片為STM32F103R6,Proteus仿真的一些問題

最近在學STM32&#xff0c;網上收集了一些信息&#xff0c;最后用正點原子的開發板來學習。 MDK的配置請參考原子哥的資料&#xff0c;我主要的學習方法是參考原子哥的開發板與實驗案例&#xff0c;改換不一樣的芯片&#xff0c;也要做出的一樣的效果。但在最基礎的入門就遇到…

深入理解閉包系列第二篇——從執行環境角度看閉包

前面的話 本文從執行環境的角度來分析閉包&#xff0c;先用一張圖開宗明義&#xff0c;然后根據圖示內容對代碼進行逐行說明&#xff0c;試圖對閉包進行更直觀的解釋 圖示 說明 下面按照代碼執行流的順序對該圖示進行詳細說明 function foo(){var a 2;function bar(){console.…

沒事寫著玩 系列之 JQ連連看(很丑陋,很初級)

說明:(圖片自備, 名稱為 jpg[0,2].jpg class為( one two three)對應 前面的 0,1,2) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://ww…

VS2017 調用Tesseract

最近在學tesseract&#xff0c;但遇到太多的問題是。 雖然網上有不少的方法&#xff0c;就算是按照tersseract&#xff0c;github上提供的方法也是編譯不成功。 問題一大堆。不過我也想到了其它方法最張還是可以用了。 我有2個方法&#xff0c; 方法1, 1&#xff0c;先build t…

最少步數----深搜

最少步數 時間限制&#xff1a;3000 ms | 內存限制&#xff1a;65535 KB難度&#xff1a;4描述這有一個迷宮&#xff0c;有0~8行和0~8列&#xff1a; 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1…

由單例模式造成的內存泄漏

使用單例模式時&#xff0c;有時候不小心&#xff0c;就會很容易造成內容泄漏&#xff0c;如下代碼所示&#xff1a;public class SingleInstance { private static volatile SingleInstance instance; private Context context; private SingleInstance(Context context) {thi…

在windows上安裝OpenCV

在windows上安裝OpenCV&#xff0c;官方提供的教程&#xff0c;我翻譯了一下。如有不正解&#xff0c;請指正 使用git-bash&#xff08;版本> 2.14.1&#xff09;和cmake&#xff08;版本> 3.9.1&#xff09;安裝 1.您必須下載cmake&#xff08;版本> 3.9.1&…

CFile、CStdioFile、FILE和其他文件操作(轉)

CFile //創建/打開文件 CFile file; file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);//文件打開模式可組合使用&#xff0c;用“|”隔開&#xff0c;常用的有以下幾種&#xff1a; //CFile::modeCreate&#xff1a;以新建…

Oracle修改redo log大小的方法

目的:修改當前在線日志從默認50M增加至512M。1.查看當前日志組的狀態SQL> select group#,members,bytes/1024/1024,status from v$log;GROUP# MEMBERS BYTES/1024/1024 STATUS---------- ---------- --------------- ----------------1 1 50 INACT…