トップページに戻る    次のC#のサンプルへ    前のC#のサンプルへ

11-6 Excelの列表示

問題

Excelの列表示は 1列目はA、2列目はB、以下C、D、 E…とすすみ、Zの次はAA AB AC…と続きます。AZの次はBAです。

この表記法で1から100までを表示してください。
出力結果は下記のサンプルの「...」の部分に適切な文字列を埋めたものになります。

A, B, C, ... CU, CV


ソース

using System;

class Program
{
    static void Main()
    {
        var charArr = new char[26];
        for (int I = 0; I <= 25; I++) {
            charArr[I] = (char)((int)'A' + I);
        }

        for (int I = 0; I <= 99; I++) {
            string willOut = "";
            if (I >= 26) willOut += charArr[I / 26 - 1];
            willOut += charArr[I % 26];
            Console.Write(willOut + ", ");
        }
    }
}


実行結果

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,
AA, AB, AC, AD, AE, AF, AG, AH, AI, AJ, AK, AL, AM, AN, AO, AP, AQ, AR, AS, AT, AU, AV, AW, AX, AY, AZ,
BA, BB, BC, BD, BE, BF, BG, BH, BI, BJ, BK, BL, BM, BN, BO, BP, BQ, BR, BS, BT, BU, BV, BW, BX, BY, BZ,
CA, CB, CC, CD, CE, CF, CG, CH, CI, CJ, CK, CL, CM, CN, CO, CP, CQ, CR, CS, CT, CU, CV,


解説

char型に対して演算を行ってます。