基于给定列号打印 Excel 列标题的 C 程序
问题
一个程序,用于打印与给定列号(整数值)对应的 Excel 列标题。用户需要输入整数,根据给定的数字,程序需要打印 Excel 列号。
解决方案
以下解释了在 C 编程语言中打印与给定列号对应的 Excel 列标题的解决方案。
示例 1
让我们看一个例子。
1 -> A 2 -> B ... 26 -> Z 27 -> AA 28 -> AB ...
示例 2
- 输入如下:
number = 3 number = 27 number = 151
- 输出如下:
Excel column title: C Excel column title: AA Excel column title: EU
示例
以下是用于打印与给定列号对应的 Excel 列标题的 C 程序:
#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("enter the integer1:"); scanf("%d",&n); printf("Column Number n = %d", n); printf("
Excel column title: %s
",convert_To_Excel_Title(n)); printf("enter the integer2:"); scanf("%d",&n); printf("
Column Number n = %d", n); printf("
Excel column title: %s
",convert_To_Excel_Title(n)); printf("enter the integer3:"); scanf("%d",&n); printf("
Column Number n = %d", n); printf("
Excel column title: %s ",convert_To_Excel_Title(n)); return 0; }
输出
当执行以上程序时,会产生以下结果:
enter the integer1:23 Column Number n = 23 Excel column title: W enter the integer2:12 Column Number n = 12 Excel column title: L enter the integer3:69 Column Number n = 69 Excel column title: BQ
广告