auの日記

プログラミング初心者の日記。(auはハンドルネームです)

きのうのプログラムを修正してみた

auです。
今回はきのうのプログラムを修正しました。

#include <stdio.h>
#include <string.h>

int main(void) {
    char s_word[] = "abcdefghijklmnopqrstupvwxyz";
    char b_word[] = "ABCDEFGHIJKLMNOPQRSTUPVWXYZ";
    char word[30];
    char n_word[30];
    int number = 0;

    printf("大文字にする(空白なし): ");
    scanf("%[^\n]", word);

    for (int i = 0; word[i] != NULL; i++) {
        n_word[i] = word[i];
        for (int j = 0; j < 26; j++) {
            if (word[i] == s_word[j]) {
                n_word[i] = b_word[j];
                break;
            }
        }
    }

    printf("%s\n", n_word);

    return 0;
}

// 実行結果
大文字にする(空白なし): hello world. i am au
HELLO WORLD. I AM AU

scanfの\n(改行)を除くように処理をすると、空白もちゃんと読んでくれました。