(1)を解き、(2)のプログラムを作成し実行してみた結果、大文字の部分のみを小文字に変換することができたのですが条件に当てはまっているか怪しいです。訂正箇所があれば指摘お願いします。
(1).1 つの文字を引数として、それが大文字のアルファベットなら小文字にして返し、そうでなけれ ばその文字をそのまま返す関数 char mytolower(char) を作成し、キーボードから入力した 1 文字に対して mytolower() を呼び出して、その戻り値を表示するプログラムを作成せよ。
#include<stdio.h> char mytolower(char c){ if('a'<=c && c<='z'){ return c; } else{ return (c+32); } } int main(void) { char m; scanf("%c",&m); printf("%c\n",mytolower(m)); return 0; }
(2).(1)の関数mytolower()を用いて、キーボードから入力した(空白類文字 を含まない 32 文字未満の) 文字列の各文字に対して mytolower() を呼び出して変換し、変換後の文字列を表示するプログラムを作成せよ。
#include<stdio.h> char mytolower(char c){ if('a'<=c && c<='z'){ return c; } else{ return (c+32); } } int main(void) { char m[32]; int i; scanf("%31s",m); for(i=0;m[i]!='\0';i++){ m[i]=mytolower(m[i]); } printf("%s\n",m); return 0; }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。