杭電OJ1040解題報告
杭電OJ1040解題報告
問題描述
這些天來,我在思考一個問題,我怎樣才能得到像a +B這樣簡單的問題?做這樣的事是相當困難的。當然,我是在很多個晚上都醒著的時候得到的。給你一些整數,你的任務是將這些數字升序(升序)。你應該知道現在這個問題有多簡單!祝你好運
輸入
輸入包含多個測試用例。輸入的第一行是單個整數T,它是測試用例的數量。T測試用例如下。每個測試用例包含一個整數N (1<=N<=1000要排序的整數的數量),然後N個整數跟隨在同一行中。
它保證所有的整數都在32-int的範圍內。
輸出
對於每種情況,列印排序結果,一行一個情況。
樣例輸入
2
3 2 1 3
9 1 4 7 2 5 8 3 6 9
樣例輸出
1 2 3
1 2 3 4 5 6 7 8 9
問題分析
核心是一個簡單的氣泡排序就能解決的問題,但按照題目的要求來控制格式花費了成倍的時間。首先要設定一個“T”來決定有多少個可供測試的樣例,然後是設定一個m,定義每組資料的長度。其中重要的是m要和每組資料在同一行;在輸出時,要把每個陣列的a[0],單獨輸出,避免隱形空格
程式程式碼
#include <iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int t,i,j,a[1004],m,temp;
scanf("%d",&t);
while(t--){
scanf("%d",&m);
for(i=0;i<m;i++)
{ //i=0;
scanf("%d",&a[i]);
}
for(i=0;i<m;i++) /* 冒泡法排序 */
for(j=0;j<m-i-1;j++)
if(a[j]>a[j+1])
{
temp=a[j];/* 交換 */
a[j]=a[j+1];
a[j+1]=temp;
}
printf("%d",a[0]);/**控制格式,使最後沒有隱形空格*/
for(i=1;i<m;i++)
printf(" %d",a[i]);
printf("\n");
}
return 0;
}
演算法設計描述
1、定義一個T,做成while迴圈,決定每個測試樣例中有多少組資料,
2、定義一個m,決定每組需要排序的資料長度。
3、氣泡排序。
4、輸出並控制格式。
結果截圖
相關文章
- 杭電多校補題
- (補題 杭電 1008)Elevator
- 杭電2046
- 杭電oj 2020
- 杭電No2000
- [熵值] 解題報告熵
- 『杭電1810』Rating of Tetris
- 『杭電1940』ICPC Scoreboard
- 『杭電1939』He is offside!IDE
- 『杭電1937』Finding Seats
- 杭電hdu2072
- 杭電2048(遞推)
- (杭電1406)完數
- P11188 解題報告
- SP30906 解題報告
- P10499 解題報告
- ARC173 解題報告
- 『杭電1848』Fibonacci again and againAI
- MPA:2019年電影主題報告
- CF720B 解題報告
- Leetcode Weekly Contest 95解題報告LeetCode
- LeetCode Weekly Contest 96 解題報告LeetCode
- MNTN:全面瞭解聯網電視廣告報告
- P10935 銀河 解題報告
- Leetcode Weekly Contest94 解題報告LeetCode
- 2024杭電多校第9場
- 2024杭電多校第九場
- 2024杭電多校第8場
- 杭電HDU2018 奶牛的故事
- Codeforces Round 992 (Div. 2) 解題報告
- 解題報告-論對“匹配”的新理解
- P10958 啟示錄 解題報告
- P10934 西瓜種植 解題報告
- Leetcode 第136場周賽解題報告LeetCode
- 11.1NOIP模擬賽解題報告
- Codeforces Round #537 (Div. 2)解題報告
- 美國電影協會:2018年全球電影主題報告
- 2024杭電多校覆盤 (1~5)