文档介绍:2014华为上机试题及答案2(DOC)
2014华为上机试题及答案2(DOC)
1 / 27
2014华为上机试题及答案2(DOC)
目录
样题 -初级题:从考试成绩中划出及格线 2
样题 -中级题:亮着电灯的盏数 3
样题 -高级题:地铁换乘 5
去掉最大值、最小值之后剩下的个数 8
从 5 个人中选取 2 个人作为礼仪 10
验证括号是否匹配 12
回文数 13
将第一行中含有第二行中 “ 23的”数输出并排序 14
翻译电话号码 16
将整数倒序输出,剔除重复数据 18
大数相减 19
判断 if 语句括号是否合法 22
23
24
25
样题 -初级题:从考试成绩中划出及格线
个学生考完期末考试评卷完成后,A 老师需要划出及格线,要求如下:
(1)
及
格
线
是
10
的
倍
数
;
(2)
保
证
至
少
有
60%
的
学
生
及
格
;
如果所有的学生都高于 60 分,则及格线为 60 分
#include<>
void sort(int a[])
{
int i,j,t;
for(i = 0;i < 10;i++)
for(j = i+1;j<10;j++)
{
if(a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
2014华为上机试题及答案2(DOC)
2014华为上机试题及答案2(DOC)
2 / 27
2014华为上机试题及答案2(DOC)
int main()
2014华为上机试题及答案2(DOC)
2014华为上机试题及答案2(DOC)
27 / 27
2014华为上机试题及答案2(DOC)
{
int num[10] = {0};
scanf("%d%d%d%d%d%d%d%d%d%d",
&num[0],&num[1],&num[2],&num[3],&num[4],&num[5],&num[6],&num[7],
&num[8],&num[9]);
sort(num);
if(num[0] > 60)
printf("60");
else
printf("%d",(num[4]/10)*10);
return 0 ;
}
样题-中级题:亮着电灯的盏数
一条长廊里依次装有 n(1 ≤ n ≤ 65535) 盏电灯,从头到尾编号 1 、 2 、3 、 n-1 、n 。每
盏 电 灯 由 一 个 拉 线 开 关 控 制 。 开 始 , 电 灯 全 部 关 着 。
有 n 个学生从长廊穿过。第一个学生把号码凡是 1 的倍数的电灯的开关拉一下;接着第二
个学生把号码凡是 2 的倍数的电灯的开关拉一下;接着第三个学生把号码凡是 3 的倍数的
电灯的开关拉一下;如此继续下去,最后第 n 个学生把号码凡是 n 的倍数的电灯的开关拉
一 下 。 n 个 学 生 按 此 规 定 走 完 后 , 长 廊 里 电 灯 有 几 盏 亮 着 。
注:电灯数和学生数一致。
#include<>
#define MAX 65535
int GetNum(int n)
{
int i,j,num = 0;
2014华为上机试题及答案2(DOC)
2014华为上机试题及答案2(DOC)
4 / 27
2014华为上机试题及答案2(DOC)
char a[MAX] = {0};
if((n < 1) || (n > MAX))
return 0;
for(i = 1;