哈理工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    寝室

猜你喜欢

转载自blog.csdn.net/qq_43005180/article/details/85320191