1.排序
輸入的第一行包括乙個整數n(1<=n<=100)。 接下來的一行包括n個整數。輸出描述:
可能有多組測試資料,對於每組資料,將排序後的n個整數輸出,每個數後面都有乙個空格。
每組測試資料的結果佔一行。
#include
using
namespace std;
intmain()
//氣泡排序
for(
int i =
0; i < n; i++)}
}//輸出
for(
int i =
0; i < n; i++
) cout << endl;
}return0;
}
法2:呼叫c++庫函式#include< algorithm >中的sort ( arr, arr+size, compare ) 或 sort ( begin, end, compare )
sort
(a, a + n)
;
注:sort()預設公升序排列,如果要降序排列寫為:
bool
com(
int a,
int b)
//自定義排序規則
sort
(a, a + n,com)
;
2.成績排序
輸入描述: 測試資料有多組,每組輸入第一行有乙個整數n(n<=1000),接下來的n行包括n個學生的資料。每個學生的資料報括姓名(長度不超過100的字串)、年齡(整形數)、成績(小於等於100的正數)。————>結構體
輸出描述: 將學生資訊按成績進行排序,成績相同的則按姓名的字母序進行排序。 然後輸出學生資訊,按照如下格式: 姓名 年齡 成績
學生姓名的字母序區分字母的大小寫,如a要比a的字母序靠前(因為a的asc碼比a的asc碼要小)。
#include
#include
#include
using
namespace std;
//定義結構體
struct stu
buf[
1000];
//建立結構體時將變數名放在結束括號的後面,即建立了乙個結構體物件
//定義排序規則
bool
com(stu a, stu b)
else
if(namecom!=0)
else
//名字也相同按照學生的年齡從小到大排序
}int
main()
//排序
sort
(buf, buf + n,com)
;//輸出
for(
int i =
0; i < n; i++)}
return0;
}
3.特殊排序
int
main()
//排序
sort
(a, a + n)
;//輸出
if(n ==1)
else
cout << endl;}}
return0;
}
4.1752:雞兔同籠
乙個籠子裡面關了雞和兔子(雞有2隻腳,兔子有4隻腳,沒有例外)。已經知道了籠子裡面腳的總數a,問籠子裡面至少有多少只動物,至多有多少只動物。輸入 n表示有n個資料輸入,乙個正整數a (a < 32768)。 輸出
一行,包含兩個正整數,第乙個是最少的動物數,第二個是最多的動物數,兩個正整數用乙個空格分開。
如果沒有滿足要求的答案,則輸出兩個0,中間用乙個空格分開。
int
main()
return0;
}
5.校門外的樹
描述某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始點和終止點的座標都是整數,區域之間可能有重合的部分。現在要把這些區域中的樹(包括區域端點處的兩棵樹)移走。計算將這些樹都移走後,馬路上還有多少棵樹。
輸入第一行有兩個整數l(1 <= l <= 10000)和 m(1 <= m <= 100),l代表馬路的長度,m代表區域的數目,l和m之間用乙個空格隔開。接下來的m行每行包含兩個不同的整數,用乙個空格隔開,表示乙個區域的起始點和終止點的座標。
輸出包括一行,這一行只包含乙個整數,表示馬路上剩餘的樹的數目。
int
main()
;//注意馬路長1 <= l <= 10000,樹最多10001棵
int begin, end, m =
0, l =0;
while
(cin >> l >> m)
//有多組輸入資料,有時候顯示wrong answer可能是沒有這一句
//統計
for(
int i =
0; i <= l; i++
) cout << sum << endl;
}return0;
}//時間複雜度為o(m*l)+o(l)=o(m*l)
6.裝箱問題
描述乙個工廠製造的產品形狀都是長方體,它們的高度都是h,長和寬都相等,一共有六個型號,他們的長寬分別為11, 22, 33, 44, 55, 66。這些產品通常使用乙個 66h 的長方體包裹包裝然後郵寄給客戶。因為郵費很貴,所以工廠要想方設法的減小每個訂單運送時的包裹數量。他們很需要有乙個好的程式幫他們解決這個問題從而節省費用。現在這個程式由你來設計。
輸入輸入檔案包括幾行,每一行代表乙個訂單。每個訂單裡的一行包括六個整數,中間用空格隔開,分別為11至66這六種產品的數量。輸入檔案將以6個0組成的一行結尾。
輸出除了輸入的最後一行6個0以外,輸入檔案裡每一行對應著輸出檔案的一行,每一行輸出乙個整數代表對應的訂單所需的最小包裹數。
#include
#include
using
namespace std;
intmain()
;//當3*3箱子的個數為4k,4k+1,4k+2,4k+3時
//可放下2*2箱子個數分別為0,5,3,1
while
(cin>>a>>b>>c>>d>>e>>f)
x =36* n - b *
4- c *
9- d *
16- e *
25- f *36;
if(a > x)
cout << n << endl;
}return0;
}
學習第十天
一 介面 jdk1.8及之後新增了2中可以定義存在方法體的方法 預設方法 default關鍵字修飾的方法 使用 通過實現類物件使用 靜態方法 使用 通過介面名去呼叫 二 單例模式 保證類只能存在乙個例項 餓漢式 先建立物件,然後需要的人要這個物件,保證永遠使用的都是這個建立好的物件 執行緒安全的,效...
python學習第十天
class student count 0 def init self,name,age,address self.name name self.age age self.address address student.count 1 k print k w open a.txt w encodin...
菜鳥學習第十天
1.字串最大的特點 一旦初始化就不可以改變。不可改變的字串內容而不是指向字串的引用 2.string s abc 其中s是乙個類型別變數,abc 是乙個物件。3.string s1 abc 和string s2 new string abc s1 s2 和s1.equals s2 比較的是他們在記憶...