本题要求编写一个解密藏尾诗的程序。
输入格式:
输入为一首中文藏尾诗,一共四句。每句一行,但句子不一定是等长的,最短一个汉字,最长九个汉字。注意:一个汉字占两个字节。
输出格式:
取出每句的最后一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。
输入样例:
悠悠田园风
然而心难平
兰花轻涌浪
兰香愈幽静
输出样例:
风平浪静
来源:
来源:PTA | 程序设计类实验辅助教学平台
链接:https://pintia.cn/problem-sets/13/exam/problems/588
提交:
题解:
#include<stdio.h>
#include<string.h>
int main(void) {
// 4 句诗,每句最短 1 个汉字,最长 9 个汉字,每个汉字占用 2 字节
char poem[4][19];
// 藏尾诗,4个汉字,每个汉字占用 2 字节
char tail[9];
for (int i = 0; i < 4; i++) {
scanf("%s", poem[i]);
}
// 第一句的最后一个汉字,占最后两个字节
tail[0] = poem[0][strlen(poem[0]) - 2];
tail[1] = poem[0][strlen(poem[0]) - 1];
// 第二句的最后一个汉字,占最后两个字节
tail[2] = poem[1][strlen(poem[1]) - 2];
tail[3] = poem[1][strlen(poem[1]) - 1];
// 第三句的最后一个汉字,占最后两个字节
tail[4] = poem[2][strlen(poem[2]) - 2];
tail[5] = poem[2][strlen(poem[2]) - 1];
// 第四句的最后一个汉字,占最后两个字节
tail[6] = poem[3][strlen(poem[3]) - 2];
tail[7] = poem[3][strlen(poem[3]) - 1];
// 结束符存入字符串尾
tail[8] = '\0';
puts(tail);
return 0;
}