基於給定列號列印 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

更新於: 2021年9月3日

706 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.