ページ 11

教えてください!

Posted: 2011年12月21日(水) 18:11
by 小太郎
C言語についてです!

キーボードから入力された文字列に指定した文字が何個
含まれているか表示するプログラムを作りたいのですがどうすればいいのですか?

動作例:


 キーから文字を数文字入力してください=apple

 調べる文字を入力してください= a

 入力された文字列の中に a は、1 個ありました。

Re: 教えてください!

Posted: 2011年12月21日(水) 18:13
by h2so5
まず、結果は出さなくて良いのでキーボードからの入力を受け付けるプログラムを書いてください。

Re: 教えてください!

Posted: 2011年12月21日(水) 18:19
by 小太郎
#include<stdio.h>
#define SIZE 10
void main(void){
char str[SIZE];//文字列
char c;//検索する文字
int i=0,num=0;
printf("キーから文字を数文字入力してください:");
scanf("%10s",str);
printf("調べる文字を入力してください:");
scanf("%s",&c);
while(str!='\0'){
if(str==c) num++;
i++;
}
printf("入力された文字列の中に %c は%d個ありました。",c,num);
}


これだとエラーが出てしまいます。

Re: 教えてください!

Posted: 2011年12月21日(水) 18:28
by non
>scanf("%s",&c);

1文字入力なら%cにしなくてはいけないのですが・・・・
きっと、入力が止まらずに次に行っちゃうだろうなぁ。
・・・ってのを経験するのもいいよね。

Re: 教えてください!

Posted: 2011年12月21日(水) 18:29
by みけCAT
コードはcodeタグで囲んでください。

Re: 教えてください!

Posted: 2011年12月22日(木) 10:40
by asd
小太郎 さんが書きました: これだとエラーが出てしまいます。
「エラーが出てしまいます」「うまくいきません」とかだけでは状況が分からないので、
エラーが出たならエラー文字列をコピー&ペーストして張り付けてください。
自分の思うとおりに動かない場合には、「何を期待してどううまくいかないのか」をきちんと記載してください。
こうすることでより詳しい回答がついたり、問題解決が早くなることがあります。

「エラーが出る」との報告だけだとどんなエラーが出ていて、何が問題なのかを実際に動かしたり、
ソースコードをじっくり見ないといけないことがありますので。
エラーメッセージでWeb検索を行うだけで原因が分かることもありますし。

投稿前にプレビューボタンを押すと、どのように表示されるのかを確認できるので、
codeタグで囲まれた部分がきちんと表示されるかどうかを確認してから投稿するとよいですよ。

Re: 教えてください!

Posted: 2011年12月22日(木) 17:31
by オカピーα
指定した文字が何文字含まれているかは、文字をもらって、なんか配列に順番に突っ込み、
0からどんどん調べていけばいいんじゃないですかね?