今天是PTA题库解法讲解的第十八天,今天我们要讲解情人节,题目如下:
解题思路:
这个问题可以通过简单的数组操作来解决。我们只需要维护一个字符串数组来存储点赞的人名,然后根据数组的长度来判断应该输出哪一种信息。下面是一个C语言的实现:
#include <stdio.h>
#include <string.h>
int main() {
char likes[15][11]; // 保存点赞的人名,最多14个人,每个名字最多10个字符
int count = 0; // 点赞人数
// 读取点赞的人名,直到输入'.'结束
while (scanf("%s", likes[count]) && likes[count][0] != '.') {
count++;
if (count == 14) break; // 最多读取14个名字
}
// 判断并输出结果
if (count >= 14) {
printf("%s and %s are inviting you to dinner...\n", likes[1], likes[13]);
} else if (count >= 2) {
printf("%s is the only one for you...\n", likes[1]);
} else {
printf("Momo... No one is for you ...\n");
}
return 0;
}
这段代码首先定义了一个二维字符数组likes
来存储最多14个点赞的人名,每个人名最多包含10个字符。count
变量用来记录读入的点赞人数。通过while
循环不断读入人名,直到输入的是.
,表示结束。然后根据count
的值判断应该输出哪种信息,并输出对应的结果。
提交代码:
今日题解到此为止~