(C言語)大文字・小文字の変換

( 子の本棚にC言語入門の本が落ちてたので、勉強してみよっと )

 

【 実行プログラム 】

実行プログラム

【 ソースプログラム 】

#include <ctype.h>
#include <stdio.h>

void str_toupper(char str)
{
    int i = 0;
    while (str[i]) {
        str[i] = toupper(str[i]);
        i++;
    }
}

void str_tolower(char str)
{
    int i = 0;
        while (str[i]) {
        str[i] = tolower(str[i]);
        i++;
    }
}

int main(void)
{
    char str[100];

    printf("文字列を入力してください:");
    scanf("%s", str);

    str_toupper(str);
    printf("大文字:%s\n", str);

    str_tolower(str);
    printf("小文字:%s\n", str);

    return (0);
}

 

【 まなび 】

■ toupper関数(大文字に変換)とtolower関数(小文字に変換)

 <ctype.h>ヘッダで提供されている。

 全角文字は変換の対象外である。

 

************************************************
【 演習9-10 】

文字列s内のすべての数字文字を除去する関数を作成せよ。

void del_digit(char s);

例えば、"AB1C9"を受け取ったら、"ABC"に更新する。

 

ん・・・あれれ?

演習9-10
#include <stdio.h>

void del_digit(char s)
{
    int i = 0;
    while (s[i]) {
        if (s[i] >= '0' && s[i] <= '9')
            s[i] = "";
        i++;
    }
}

int main(void)
{
    int i;
    char str[100];

    printf("文字列を入力してください:");
    scanf("%s", str);

    del_digit(str);

    printf("数字だけ除去しました:%s", str);

    return (0);
}