摸爬滾打的,總算把第一門課弄完了,趕緊開工第二門。
第一題:
注意: 總時間限制: 1000ms 記憶體限制: 65536kb
已知乙個整數陣列x,其中的元素彼此都不相同。找出給定的陣列中是否有乙個元素滿足x[i]=i的關係,陣列下標從0開始。
舉例而言,如果x=,則x[3] = 3,因此3就是答案。
第一行包含乙個整數n (0 < n < 100),表示陣列中元素的個數。
第二行包含n個整數,依次表示陣列中的元素。
輸出為乙個整數,即滿足x[i]=i的元素,若有多個元素滿足,輸出第乙個滿足的元素。若沒有元素滿足,則輸出「n」。
第一組6-2 -1 7 3 4 8
第二組6
9 9 9 9 9 9
第一組3第二組
n
第二題四大湖很坑,我想了半天。
注意: 總時間限制: 1000ms 記憶體限制: 65536kb
我國有4大淡水湖。
a說:洞庭湖最大,洪澤湖最小,鄱陽湖第三。
b說:洪澤湖最大,洞庭湖最小,鄱陽湖第二,太湖第三。
c說:洪澤湖最小,洞庭湖第三。
d說:鄱陽湖最大,太湖最小,洪澤湖第二,洞庭湖第三。
已知這4個湖的大小均不相等,4個人每人僅答對乙個,
請程式設計按照鄱陽湖、洞庭湖、太湖、洪澤湖的順序給出他們的大小排名。
無。輸出為4行,第1行為鄱陽湖的大小名次,從大到小名次分別表示為1、2、3、4;第2、3、4行分別為洞庭湖、太湖、洪澤湖的大小名次。
(無)
3(樣例輸出僅供格式參考,此題只有乙個解, 。)
#includeusing namespace std;
int main() }}
}}
} }return 0;
}
接著第三題:
注意: 總時間限制: 1000ms 記憶體限制: 65536kb
有乙個小型的報賬系統,它有如下功能:
(1)統計每個人所報發票的總錢數
(2)統計每類發票的總錢數
將此系統簡化為如下:假設發票類別共有a、b、c三種;一共有三個人,id分別為1、2、3。
系統輸入包含三行,每行第乙個數為人員id(整型,1或2或3),第二個數為發票總張數(張數不超過100),之後是多個發票類別(字元型,a或b或c)和相應發票金額(單進度浮點型,不超過1000.0)。
輸出包含六行,前三行為每人(按id由小到大輸出)所報發票總錢數(保留兩位小數),後三行為每類發票的總錢數(保留兩位小數)。
1 5 a 1.0 a 2.0 c 1.0 b 1.0 c 13 3 b 1 c 2 c 1
2 4 b 1 a 1 c 1 a 1
1 6.002 4.00
3 4.00
a 5.00
b 3.00
c 6.00
#include#includeusing namespace std;
int main()
} cout << "1 " << setiosflags(ios::fixed) <
注意: 總時間限制: 1000ms 記憶體限制: 65536kb
甲殼蟲的《a day in the life》和《tomorrow never knows》膾炙人口,如果告訴你a day in the life,真的會是tomorrow never knows?相信學了計概之後這個不會是難題,現在就來實現吧。
讀入乙個格式為yyyy-mm-dd的日期(即年-月-日),輸出這個日期下一天的日期。可以假定輸入的日期不早於1600-01-01,也不晚於2999-12-30。
輸入僅一行,格式為yyyy-mm-dd的日期。
輸出也僅一行,格式為yyyy-mm-dd的日期
2010-07-05
2010-07-06閏年的標準:
(1)普通年能被4整除且不能被100整除的為閏年。(如2023年就是閏年,2023年不是閏年)
(2)世紀年能被400整除的是閏年。(如2023年是閏年,2023年不是閏年)
可以利用乙個字元變數吃掉輸入的短橫線(減號),輸出時請活用setfill和setw 控制符。
嗯,這道題的重點就是吃掉控制符,以及輸出格式。
#include#include using namespace std;int main()
if (leap == false && day == 28)
} if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && (day == 31))
else
} if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 30)
if (special == false)//對不特殊的進行處理
day++;
cout << year << '-' << setw(2)<
注意: 總時間限制: 1000ms 記憶體限制: 65536kb
有一種細菌分為a、b兩個亞種,它們的外在特徵幾乎完全相同,僅僅在繁殖能力上有顯著差別,a亞種繁殖能力非常強,b亞種的繁殖能力很弱。在一次為時乙個 小時的細菌繁殖實驗中,實驗員由於疏忽把細菌培養皿搞亂了,請你編寫乙個程式,根據實驗結果,把兩個亞種的培養皿重新分成兩組。
輸入有多行,第一行為整數n(n≤100),表示有n個培養皿。
其餘n行,每行有三個整數,分別代表培養皿編號,試驗前細菌數量,試驗後細菌數量。
輸出有多行:
第一行輸出a亞種培養皿的數量,其後每行輸出a亞種培養皿的編號,按繁殖率公升序排列。
然後一行輸出b亞種培養皿的數量,其後每行輸出b亞種培養皿的編號,也按繁殖率公升序排列。
51 10 3456
2 10 5644
3 10 4566
4 20 234
5 20 232
313亞種內部細菌繁殖能力差異 遠遠小於 亞種之間細菌繁殖能力差異。2254
也就是說,亞種間任何兩組細菌的繁殖率之差都比亞種內部兩組細菌的繁殖率之差大。
這題之前抄寫過,所以這次用的就是抄寫的作業。
#include using namespace std;int main()
// 對整個細菌排序
for (int i = 0; i < n; i++)
} }// 記錄最大的差
double maxdiff = 0;
// 和最大差的下標
int maxdiffindex = 0;
for (int i = 0; i < n - 1; i++)
} //輸出繁殖率較大的那組細菌
cout << maxdiffindex + 1 << endl;
for (int i = maxdiffindex; i >= 0; i--)
//輸出繁殖率較小的那組細菌
cout << n - maxdiffindex - 1 << endl;
for (int i = n - 1; i >= maxdiffindex + 1; i--)
return 0;
}
最後一題:
注意: 總時間限制: 1000ms 記憶體限制: 65536kb
有一批易感人群住在網格狀的宿舍區內,宿舍區為n*n的矩陣,每個格點為乙個房間,房間裡可能住人,也可能空著。在第一天,有些房間裡的人得了流感,以後每天,得流感的人會使其鄰居傳染上流感,(已經得病的不變),空房間不會傳染。請輸出第m天得流感的人數。
第一行乙個數字n,n不超過100,表示有n*n的宿舍房間。
接下來的n行,每行n個字元,』.』表示第一天該房間住著健康的人,』#』表示該房間空著,』@』表示第一天該房間住著得流感的人。
接下來的一行是乙個整數m,m不超過100.
輸出第m天,得流感的人數
5....#
.#.@.
.#@..
#....
.....
4
16
#includeusing namespace std;
int main()
} int m;
cin >> m;
for (int k = 0; k < m-1; k++)
} }
for (int i = 0; i < n; i++)
}//然後一天結束,跟天黑請閉眼一樣。
} int count = 0;//然後開始數數
for (int i = 0; i < n; i++)
} cout << count << endl;
return 0;
}
C語言 第二週作業
學習內容總結 1.git和編輯器截圖 2.mooc截圖 謹慎明確的描述症狀。提供問題發生的環境 機器配置 作業系統 應用程式以及別的什麼 說明你在提問前是怎樣去研究和理解這個問題的。說明你在提問前採取了什麼步驟去解決它。羅列最近做過什麼可能有影響的硬體 軟體變更。6.用精準的語言描述出來問題。但是在...
C語言第二週作業
這個作業屬於哪個課程 這個作業的要求在 homework 11379 這個作業的目標 樂於提問,學會提問 學號 20208967 2.1 閱讀作業答 1.提問前需要好好自我思考,不可以一遇到問題就問,而不進行獨立思考。2.提問前要組織好語言,不可語無倫次。3.提問要禮貌,要有該有的禮節。4.接受別人...
C語言第二週作業
這個作業屬於哪個課程 這個作業要求在 homework 11379 這個作業的目標 學習提問的智慧型,了解提問的方試,作業中遇到的問題 學號 20208983 2.1 閱讀作業 1.請仔細閱讀 提問的智慧型 用自己的話描述你的收穫,並舉例子說明應該如何提問 答 1.首先請教問題時要有禮貌,態度要好,...