• ベストアンサー

小文字は大文字に、大文字は小文字に変換して表示するプログラム

C言語の問題で、ユーザが文字を入力し、CTRL+Zが押されるまで、半角英数字の入力を受け付ける。 受け付けた文字列(最大でも1000文字)を、小文字は大文字に、大文字は小文字に変換して表示するプログラムを作成する。数字に対しては何も変化させなくて良い。 けっこう考えたんですが全くわかりません。 どなたか知恵を貸してください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

#include <stdio.h> #include <ctype.h> int main (void) { int c; if((c = getchar()) == EOF) return 0; if(isupper(c)) c = tolower(c); else c = toupper(c); putchar(c); main(); return 0; }

その他の回答 (4)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

> CTRL+Zが押されるまで、 処理系に依存せずにCTRL+Zを検知する方法はありません。 処理系を特定するか、諦めるか、いずれかです。 なお、処理系を特定したとしても、ものによっては検知できない可能性があります。

noname#98978
noname#98978
回答No.3

>プログラムの作り方から、なにをしたらいいかほとんど分かりません。 まず、C言語を勉強してください。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

多分 Ctrl+Z で処理を終了する方法がわからないんだね。

noname#77845
noname#77845
回答No.1

どこが判らないのですか? ・プログラムの作り方? ・入出力? ・文字を変換するところ? ・文字を表示するところ?

bad-pc
質問者

補足

プログラムの作り方から、なにをしたらいいかほとんど分かりません。