蓝桥等考C++组别十八级
第一部分:选择题
1、
C++ L18 (
15
分)
已定义
double rate = 3.921576
;
以下
可以正确输出变量
rate
的是( )。
A
.
printf("%d", rate);
B.
printf("%f", rate);
C.
printf("%ld", rate);
D.
printf("%r", rate);
正确答案:
B
2
、C++ L18 (
15
分)
已定义
int n = 177; 以下可以将n按照八进制输出的是
( )。
A
.
printf("%b",
n
);
B.
printf
("%
h
", n);
C
.
printf
("%x", n);
D.
printf
("%o", n);
正确答案:D
3
、C++ L18 (20分)
执行下面的代码,输出的是( )。
char s[20] = "Hello,C++";
printf("%11.6s", s);
A
.
Hello,C++
(注:
字符串左
边有
2
个空格)
B.
Hello,
(注:
字符串左
边有
5
个空格)
C
.
Hello,
(注:
字符串右
边有
5
个空格)
D.
Hello,C++
(注:
字符串右
边有
2
个空格)
正确答案:
B
第二部分:编程题
4、
C++ L18
文件列表
(
5
0分)
题目名称:
文件列表
题目描述:
给定某目录下的文件信息列表,要求按文件大小从大到小的顺序进行排序,并显示在屏幕上。要求显示的规则如下:
每行显示一个文件的信息。
文件信息包含
4
项数据,依次是:文件属性、创建日期、文件大小、文件名。
输入:
第1行是一个正整数n(n
<= 100
),表示文件的个数。
接下来有n行,每行包含一个文件的相关数据,依次为:
① 1个字符串(长度为6个字符),表示文件属性;
②
3
个整数,分别表示日期的年(4位)、月(
1~12
)、日(1
~31
);
③ 1个整数,表示文件占的字节大小(
0~10000000
);
④ 1个字符串(长度不超过2
0
个字符),表示文件名。
相邻两项数据用一个空格隔开。
输出:
共n行,
表示按文件大小从大到小排序的结果。
在一行中输出的文件信息依次是:
① 文件属性(占6个字符宽度,左对齐);
② 创建日期(占1
8
个字符宽度,右对齐;格式如:2
022/02/12
,其中月、日的显示占2个字符宽度,不足2位则左边补0);
③ 文件大小(占1
5
个字符宽度,右对齐,仅显示大小,不显示单位);
④ 文件名(按字符串实际长度输出,左对齐)。
注意:
1
.
相邻两项数据之间有一个额外的空格,要求严格按照给定的格式输出各项数据。
2
.
所有符号均为英文符号。
输入样例
1
:
4
-a---- 2020 10 11 3532 package.json
-ar--- 2021 10 2 14420 readme.md
-ar--- 2022 1 21 3622348 gcc.exe
-a---- 2019 10 8 435 copyright.txt
输出样例
1
:
-ar--- 2022/01/21 3622348 gcc.exe
-ar--- 2021/10/02 14420 readme.md
-a---- 2020/10/11 3532 package.json
-a---- 2019/10/08 435 copyright.txt
参考程序:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 100;
struct File
{
char att[7];
int y;
int m;
int d;
int size;
char fn[30];
}files[N + 1];
bool cmp(File a, File b)
{
return a.size > b.size;
}
int main()
{
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%s %d %d %d %d %s", files[i].att, &files[i].y, &files[i].m, &files[i].d,
&files[i].size, files[i].fn);
}
sort(files, files + n, cmp);
for (int j = 0; j < n; j++)
{
printf("%6s %12d/%02d/%02d %15d %s\n", files[j].att, files[j].y, files[j].m, files[j].d
, files[j].size, files[j].fn);
}
return 0;
}
测试数据:
1.in
4
-a---- 2020 10 11 3532 package.json
-a---- 2021 10 2 14420 readme.md
-a---- 2022 1 21 3622348 gcc.exe
-a---- 2019 10 8 435 copyright.txt
1.out
-a---- 2022/01/21 3622348 gcc.exe
-a---- 2021/10/02 14420 readme.md
-a---- 2020/10/11 3532 package.json
-a---- 2019/10/08 435 copyright.txt
2.in
12
-a--s- 2017 4 15 447446 pqpksqagjdvxl.ludn
-ar-s- 1956 8 3 89 eu.umtm
-ar--- 1914 1 30 118 wpkdztuq.hsd
-ar--- 2017 8 16 13 ftab.tla
-a--s- 1957 12 22 131 svzi.vrg
-ar-s- 1932 10 1 57374 ptnglgfzq.oop
-arhs- 1916 5 27 9 kwaiscfzh.dfo
-ar--- 1971 4 24 19415 whomlbkpeheed.pxc
-a---- 1973 2 3 64 m.lbcn
-ar--- 1965 10 1 572480 fmrsdpdudoh.sob
-arhs- 1996 10 31 412265 ljuidpjbdkfks.qtwg
-a---- 1924 6 8 32671 hpj.son
2.out
-ar--- 1965/10/01 572480 fmrsdpdudoh.sob
-a--s- 2017/04/15 447446 pqpksqagjdvxl.ludn
-arhs- 1996/10/31 412265 ljuidpjbdkfks.qtwg
-ar-s- 1932/10/01 57374 ptnglgfzq.oop
-a---- 1924/06/08
蓝桥杯青少组C++组别18级编程练习真题(第7套,共8套)