有这样一个无限长有规律排列的字符序列 abcdefghabcdefghabcdefgh......,将该字符序列按从左到右的顺序从数字 1 开始对每个字符编号。现要求编程输出编号为 i 的字母。
时间: 2023-04-03 16:03:28 浏览: 73
好的,我可以回答这个问题。根据题目描述,我们可以发现该字符序列是由 8 个字符组成的循环序列,每个字符重复出现了无限次。因此,我们可以先计算出 i 对 8 取模的结果,然后根据余数来确定对应的字符。具体地,当 i mod 8 等于 1 时,对应的字符是 'a',当 i mod 8 等于 2 时,对应的字符是 'b',以此类推,当 i mod 8 等于 0 时,对应的字符是 'h'。因此,我们可以用如下的代码来实现:
char getChar(int i) {
int mod = (i - 1) % 8;
if (mod == 0) {
return 'h';
} else {
return 'a' + mod - 1;
}
}
注意,这里的 i 是从 1 开始编号的,因此在计算 mod 时需要先将 i 减去 1。另外,由于题目要求用编号来确定字符,因此我们需要定义一个函数来实现这个功能。
阅读全文