蓝桥等考C++组别十八级
第一部分:选择题
1、
C++ L18 (
15
分)
已定义
char msg[50] = "Welcome to C++ world!";
可以正确输出
msg
内容的是( )。
A
.
printf("%c", msg);
B.
printf("%d", msg);
C.
printf("%x", msg);
D.
printf("%s", msg);
正确答案:D
2
、C++ L18 (
15
分)
假定定义了变量:
int n;
以下可以正确接收八进制数“
777
”的是( )
A
.
scanf("%d",
&n
);
B. scanf("%
h
", &n);
C
.
scanf("%x", &n);
D. scanf("%o", &n);
正确答案:D
3
、C++ L18 (20分)
执行下面的代码,输出的是( )。
double a = 12.345;
printf("%8.2f %-8.2f", a, a);
A
.
12.35 12.35
(注:两个数
中间
有
4
个空格
,后面有3个空格
)
B.
12.35 12.35
(注:
左
边有
3
个空格,两个数
中间
有
1
个空格,
后面有3个空格
)
C
.
12.35 -12.35
(注:两个数
中间
有
4
个空格,
后面有
2
个空格
)
D.
12.35 -12.35
(注:
左
边有
3
个空格,
中间
有
1
个空格,
后面有
2
个空格
)
正确答案:
B
第二部分:编程题
4、
C++ L18
进程信息列表(
5
0分)
题目名称:
进程
信息
列表
题目描述:
给出一个进程信息
列表
,要求按
占用处理器时间从大到小
排序后输出。
每条进程信息包含:句柄、占用处理器时间(以秒为单位)、占用内存量(以兆字节为单位)、进程ID以及进程名称。
输入:
第1行是一个正整数n(n
<= 100
),表示进程信息的条数。
接下来有n行,每行包含一个进程的相关信息,依次为:
①
1
个整数(小于1
000000
),表示句柄;
②
1
个实数(小于1
000000
),表示占用处理器时间;
③
1
个实数(小于1
000000
),表示占用内存量;
④ 1个整数(小于1
000000
),表示进程ID;
⑤
1
个字符串,长度不超过
30
,表示进程名称。
相邻两项数据之间用一个空格隔开。
输出:
共n行,表示将进程信息
按
占用处理器时间从大到小
排序输出的结果
。
在一行中输出的进程信息依次是:
① 句柄(占
8
个字符宽度,右对齐);
② 占用处理器时间(占1
0
个字符宽度,保留
2
位小数,右对齐,只显示数值,不显示单位);
③ 占用内存量(占
10
个字符宽度,保留
2
位小数,右对齐,只显示数值,不显示单位);
④ 进程ID(占
8
个字符宽度,右对齐);
⑤ 进程名称(按字符串实际长度输出,左对齐)。
注意:相邻两项数据之间有一个额外的空格,要求严格按照给定的格式输出各项数据。
输入样例
1
:
4
91 1.2 3.8 10168 WeChat
176 123.323 2.7 3924 explorer
1598 2535.61 65.1 1780 chrome
537 1700.388 34.5 7952 svchost
输出样例
1
:
1598 2535.61 65.10 1780 chrome
537 1700.39 34.50 7952 svchost
176 123.32 2.70 3924 explorer
91 1.20 3.80 10168 WeChat
参考程序:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 100;
struct Process
{
int handles;
double cpu;
double mem;
int pid;
char fn[31];
}ps[N + 1];
bool cmp(Process a, Process b)
{
return a.cpu > b.cpu;
}
int main()
{
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d %lf %lf %d %s", &ps[i].handles, &ps[i].cpu, &ps[i].mem, &ps[i].pid, ps[i].fn);
}
sort(ps, ps + n, cmp);
for (int j = 0; j < n; j++)
{
printf("%8d %10.2f %10.2f %8d %s\n", ps[j].handles, ps[j].cpu, ps[j].mem, ps[j].pid, ps[j].fn);
}
return 0;
}
测试数据:
1.in
4
91 1.2 3.8 10168 WeChat
176 123.323 2.7 3924 explorer
1598 2535.61 65.1 1780 chrome
537 1700.388 34.5 7952 svchost
1.out
1598 2535.61 65.10 1780 chrome
537 1700.39 34.50 7952 svchost
176 123.32 2.70 3924 explorer
91 1.20 3.80 10168 WeChat
2.in
12
167018 76.4 54.35 705508 hdcsugfvfguxpsdctzsbdnoi
863 5513.01 65965.86 258 zdfgxrqynssttgbglflvygvjk
52061 43105.13 22637.6 6881 vitolk
357109 3485.5 1108.17 83101 ajwubewpyccbbyth
30 13541.71 75686.75 846 qyfoehlhupvaxzjgglzfqmenna
1011 79.79 6963.99 3066 gdomigzbsvqgzjsrtxid
855282 6491.24 4.64 43405 xgwyadnyjvyukoozv
619 192.77 6754.61 85030 bfetpz
868550 6.67 69.02 41 nawizitzmetvgsxkgvozgzg
70 11963.62 1375.43 67 ojffalxdohxkpprlwnkmiskyf
8277 22.13 4713.19 72 vdfvnl
67089 2344.63 2724.48 553 pfkvtdxpveculazchqk
2.out
52061 43105.13 22637.60 6881 vitolk
30 13541.71 75686.75 846 qyfoehlhupvaxzjgglzfqmenna
70 11963.62 1375.43
蓝桥杯青少组C++组别18级编程练习真题(第18套,共8套)