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

相关文章