C 程序根据给定的列号打印 Excel 列标题
cserver side programmingprogramming
问题
一个程序,用于打印与给定列号(整数值)相对应的 Excel 列标题。用户必须根据给定的数字输入整数,才能打印 Excel 列号。
解决方案
下面解释了使用 C 编程语言打印与给定列号相对应的 Excel 列标题的解决方案 −
示例 1
让我们看一个例子。
1 -> A 2 -> B ... 26 -> Z 27 -> AA 28 -> AB ...
示例 2
- 输入如下 −
number = 3 number = 27 number = 151
- 输出如下 −
Excel 列标题:C Excel 列标题:AA Excel 列标题:EU
示例
以下是 C 程序,用于打印与给定列号相对应的 Excel 列标题 −
#include <stdio.h> static char *convert_To_Excel_Title(int column_no){ if (column_no <= 0) { return ""; } char *result = malloc(1024); int len = 0; do { result[len++] = ((column_no - 1) % 26) + 'A'; column_no = (column_no - 1) / 26; } while (column_no > 0); result[len] = '\0'; int i, j; for (i = 0, j = len - 1; i < j; i++, j--) { char c = result[i]; result[i] = result[j]; result[j] = c; } return result; } int main(void){ int n; printf("输入整数1:"); scanf("%d",&n); printf("列号 n = %d",n); printf("
Excel 列标题: %s
",convert_To_Excel_Title(n)); printf("输入整数2:"); scanf("%d",&n); printf("
列号 n = %d",n); printf("
Excel 列标题: %s
",convert_To_Excel_Title(n)); printf("输入整数 3:"); scanf("%d",&n); printf("
列号 n = %d", n); printf("
Excel 列标题: %s ",convert_To_Excel_Title(n)); return 0; }
输出
当执行上述程序时,它会产生以下结果 −
输入整数1:23 列号 n = 23 Excel 列标题:W 输入整数2:12 列数 n = 12 Excel 列标题:L 输入整数3:69 列数 n = 69 Excel 列标题:BQ