跳转至

2024测试2A卷

题目1

Description

请注意这是A卷,确认所做试卷无误。

在屏幕上输出“A”字样。

Input

无输入

Output

在屏幕上输出“A”字样。

Sample Input 1

无输入

Sample Output 1

A


题目2 整数的各位积和之差

Description

给定一个整数N,计算该整数各个数位之积与各个数位之和的差。

Input

一个介于 \([1, 10000]\) 的正整数。

Output

该整数各个数位之积与各个数位之和的差。

Sample Input 1

234

Sample Output 1

15

Sample Input 2

4421

Sample Output 2

21

Hint

提示:

\(2 \times 3 \times 4 = 24\)

\(2 + 3 + 4 = 9\)

\(24 - 9 = 15\)


题目3 找零问题

Description

一杯柠檬水售价\(5\)元,现在有 \(N\) 个顾客排队依次购买柠檬水,每个顾客手中持有\(1\)张纸币,可能是\(5\)元、\(10\)元或\(20\)元。对于持有\(10\)元或\(20\)元纸币的顾客,需要正确找零。

开始营业时老板没有任何纸币,请判断是否可以对所有 \(N\) 个顾客进行正确售卖。

Input

第一行为一个整数 \(N\),表示共有 \(N\) 位顾客,保证 \(1 \le N \le 50\)

第二行为 \(N\) 个整数,每个整数间使用空格分隔,表示每位顾客持有的纸币面额,保证每个整数的值为\(5\)\(10\)\(20\)

Output

若可对所有顾客正确售卖与找零,则输出“OK”字样;否则输出“ERROR”字样。

Sample Input 1

5

5 5 5 10 20

Sample Output 1

OK

Sample Input 2

5

5 5 10 10 20

Sample Output 2

ERROR

Hint

提示:

样例1:前\(3\)个人正常售卖,第\(4\)个人找零\(5\)元,第\(5\)个人找零\(10+5\)元。

样例2:前\(2\)个人正常售卖,第\(3\)个人找零\(5\)元,第\(4\)个人找零\(5\)元,第\(5\)个人找零\(10\)元后无法再继续找零\(5\)元纸币。


题目4 结构体排序

Description

定义结构体

typedef struct Employee {
    char name[20];
    int salary;
} Employee;

表示员工姓名及工资,现给出 \(N\) 个员工的姓名和工资,按照工资和姓名升序排序,并输出。

Input

\(1\)行为一个正整数 \(N\) 表示员工数量,值介于 \([1, 50]\);

\(2\)行开始,每行一个字符串和正整数,中间以空格分隔,表示员工姓名和工资,字符串长度介于 \([1, 20]\),正整数值介于 \([1, 100]\);

\(N\) 个姓名不会出现重名。

Output

排序后的员工信息,每行样式为

Name: XXX, salary: XXX

注意输出最后一行内容后不得输出多余的空格或换行。

Sample Input 1

3

Johnny 20

Lance 10

Alice 20

Sample Output 1

Name: Lance, salary: 10

Name: Alice, salary: 20

Name: Johnny, salary: 20


题目5 最长公共前缀

Description

设计函数 char* longestCommonPrefix(char strs[],int N),功能为返回 \(N\) 个字符串的最长公共前缀。

编写程序接收 \(N\) 个字符串,调用函数,输出最长公共前缀。

Input

\(1\)行为正整数 \(N\),值介于 \([1, 10]\);

\(2\)行开始每一行为一个字符串,字符串内不包含空格,长度介于 \([0, 30]\)

Output

最长公共前缀。

Sample Input 1

3

flower

flow

flight

Sample Output 1

fl

Sample Input 2

3

flower

flow

Sample Output 2

(无输出)

Sample Input 3

1

apple

Sample Output 3

apple


题目6 丑数

Description

输出指定范围内的所有丑数。

Input

两个正整数 \(M\)\(N\), \(1 \le M \le N \le 2000000\)

Output

输出介于 \([M, N]\) 间的所有丑数,每个数字以空格间隔,输出最后一个数字后不得输出多余的空格或换行。

Sample Input 1

1 20

Sample Output 1

1 2 3 4 5 6 8 9 10 12 15 16 18 20

Sample Input 2

30 50

Sample Output 2

30 32 36 40 45 48 50

Hint

提示:

  • 丑数,为一个正整数,其所有因数中的质数,只能为集合 \((2, 3, 5)\) 的子集。
  • \(1\)为丑数;
  • 允许调用 math.h 中的库函数;
  • 若通过测试点\(1 \sim 4\),即可取得本题全部分数;
  • 若通过测试点\(5\),本试卷总分数可额外获得\(5\)分,但总分不得超过\(100\)分。

警告:

  • 若使用 if 语句对测试用例直接输出结果,而不经过算法处理,则此题成绩无效。