1. 程式人生 > >哈理工2018大一上學期C語言期末考試題(也是牛客第六場)題解

哈理工2018大一上學期C語言期末考試題(也是牛客第六場)題解

https://ac.nowcoder.com/acm/contest/337#question

A—新年快樂

無腦printf就行了

 

B—平均身高

注意 / 兩邊都是整數時,計算結果是整數部分,比如, 1 / 2 的結果不是0.5,而是0

可以加個強制轉換,轉換成double型別再進行計算,也可以乘上個1.0

輸出時注意保留兩位整數,printf的第一個引數中寫%.mf  (其中m為數字),表示保留m位小數

 

C—掛科危險

使用if進行判斷就行了 

注意,==是等於 >= 是大於或等於 <=是小於或等於

D—HTTP狀態碼

同上題,也可以用switch寫

E—數字三角形

考察迴圈,雙層迴圈就ok啦

每次內部迴圈結束換個行

注意每行每個數之間有個空格

F—公務員面試

先進行排序,然後去掉最大值,去掉最小值,累加,之後除以5,注意事項同B題

另外一種方法,找到最大值和最小值,然後將7個數的總和,然後減去最大值和最小值,再除以5

 

G—有序序列插入一個數 

智障做法:插入排序

智慧做法:插入後正常排序就行

H—篩選法求素數

略有難度(對於初學者)

根據題目要求進行模擬就行,注意多組輸入,每次都要陣列清0,內部迴圈的時候,注意要從 i + 1開始,否則都是0了

核心程式碼:

		for (int i = 2; i <= n; i++) {
			for (int j = i + 1; j <= n; j++) {
				if (a[j] % i == 0) a[j] = 0;
			}
		}

也可以按照傳統求素數的方法做 

I—影象相似度 

 

兩個二維陣列

寫兩個雙層迴圈,分別輸入這兩個二維陣列 ,然後再寫個雙層迴圈,遍歷一遍,如果相同位置不同,就++

最後算一下相似度就行了

 

J--登陸驗證

考察字串的比較

strcmp函式,有兩個引數,為你比較的兩個字串,返回值如果等於0,代表兩個字串相等

注意輸出的時候沒有換行(坑爹吧這) 

 

總結:沒什麼難度,至少也得對10道吧

 

2018.12.28  13 :05    寢室