プログラミング初心者です。
現在c言語を勉強しています。
標準入力に英文を入力すると,大文字を小文字に,小文字を大文字に,数字を「*」に変換して
標準出力に出力するプログラムを書いていたのですが
どうしてもわからないことがありましたので投稿させていただきます。
標準入力に
「qwErt\n
asdff\n
zxcvb\n」
と入力をした際に、標準出力に
「QWeRT\n
ASDFF\n
ZXCVB\n」
と標準出力に出力されてほしいのですが
「QWeRT\n
asdff\n
zxcvb\n」
といった風に一行目にはプログラムが適用されるのですが
二行目以降,プログラムが適用されず困っています。
有識者の方どなたか知恵をお貸しください。
#include <stdio.h> int main(void) { char ch[256]; int f=0; while(fgets(ch,256,stdin)){ while(ch[f]!='\0'){ if('a'<=ch[f] && ch[f]<='z'){ ch[f] -= 'a'-'A'; } else if('A'<=ch[f] && ch[f]<='Z'){ ch[f] +='a'-'A'; } else if('0'<=ch[f] && ch[f]<='9'){ ch[f] = '*'; } f++; } printf("%s" , ch); } return 0; }
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10252630305
teratailのローカルルールではありますが、それを承諾の上でここを使っているのでしょうから
https://teratail.com/help#posted-otherservice
「やむを得ず複数のサイトに質問を投稿された場合は、質問内容にマルチポストをする理由を書き、他のサイトの投稿へのリンクを貼ってください。また、解決した際には必ずteratail及びすべての投稿に解決した旨と、どのように解決したかを記載してください。」
の処置をしてください
で、とっとと退会。
回答2件
あなたの回答
tips
プレビュー