- ベストアンサー
C言語のプログラミング:255文字以内の文字列を処理する方法
- C言語のプログラミングで、255文字以内の文字列をキーボードから入力し、特定の処理を行う方法について教えてください。
- 具体的には、入力した文字列の最後の文字を出力する方法、入力した文字列を逆に並べ替えて出力する方法、入力した文字列を縦に出力する方法(1文字ずつ表示)、および入力した文字列の中に含まれる「F」の個数を調べる方法について知りたいです。
- ただし、使用できるのはfor文・配列・if文のみで、それ以上の高度な機能は使用しないでください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じ…。 #include <stdio.h> void main(){ char str[256]; int i,n,na,nb,nc; printf("Input Strings = "); scanf("%s",str); na = 0; for(i=0;str[i] != '\0';i++){ if(str[i]=='F')na++; n=i; } printf("The last character = %c\n",str[n]); printf("The Reverse character = "); for(i=n;i>=0;i--){ printf("%c",str[i]); } printf("\n"); printf("The Vertical character is\n"); for(i=0;i<=n;i++){ printf("%3d:%c\n",i,str[i]); } printf("Occurrence count of F is %d\n",na); } ※全角スペースを使用しているので修正してね。
その他の回答 (2)
- Tacosan
- ベストアンサー率23% (3656/15482)
「for文・配列・if文ぐらい」と「それ以上レベルの高いもの」はどのように線をひけばいいんでしょうか. ただ, まじめにやると「255文字以内の文字列をキーボードから入力する」だけでも非常に難しいですね. 以下余談なんだけど.... 実は, ここで「プログラム全体」を書いてもらったとしても, それを「レポートなりなんなりの解答」として出すのは著作権法上まずいんじゃないかなぁと思ったりする.
お礼
ご回答ありがとうございます。 確かに全部を訊くのは少し卑怯な方法かもしれませんね。 今度からは解くヒントなどを教えてもらおうと思います。
- asuncion
- ベストアンサー率33% (2127/6289)
>下記の各処理を行うプログラム(※入力した文字データは配列に入力)はどのようにしたらいいでしょうか?(入力例:acFNkeexFFg) >ただし、使えるのはfor文・配列・if文ぐらいでそれ以上レベルの高いものは使わないで下さい。 プログラムを作るのはあなたですか?誰ですか? 後の文が「レベルの高いものは使えないことになっています。」なら、 あなたがプログラムを作ることになっている、とわかるのですが。 「使わないでください」って書かれると、「作ってもらったプログラムを 課題の答えか何かとしてそのまま提出します」ってニュアンスが感じ取れます。
お礼
ご回答ありがとうございます。 ここで教えてもらったプログラムを参考に、大まかな仕組みを理解しようと思っていたのですが その事を書いていませんでした。 申し訳ありません。これからは質問文に目的を書くようにします。
お礼
ご回答ありがとうございます。 分かりやすいプログラムをご丁寧に教えていただいて嬉しいです。 配列などの細かな仕組みを理解するために、いろいろと参考にさせていただきます。