アプリ版:「スタンプのみでお礼する」機能のリリースについて

数を数えるプログラミングをしています。
あるきまった文字だけをカウントして、その出現回数だけを数えたいのです。
途中まで考えてみたのですが、決まった文字が出現するとこでどうしたらいいか分からなくなりました。
できるだけ自分でやりたいと思ってるので、使える関数や続きの考え方を教えてもらえるとうれしいです。
初心者なのでよろしくお願いします。

a後にbが来たときだけを数えるものです。

char *a;
int i;

moji[20] //abcddcbaが入っている

a = moji;

/*ここから下を考えてる途中*/

if( *a != 0 )
{
for(;*( a+1) != 0; a++ )
{
if( *a == 'a' )
{
if( *(a+1) == 'b' )
{

A 回答 (4件)

ほとんど完成していると思いますよ。


あとはカウントするくらいでは?
    • good
    • 0

#2です。



> abがどこにあっても数えられますかね...
> Abと言う場合もかえられないといけないんです...

strstr
strlen
辺りを使って汎用的な関数を作れば、
"ab"だろうが"Ab"だろうが"cDeF"でもできますよ。
"ab"と"Ab"の2回呼び出してもいいんだから。

でも大文字小文字に対応するなら
toupper
とか使うのが普通だけど
    • good
    • 0

strstrでも使えばどうでしょう?

この回答への補足

abがどこにあっても数えられますかね...
Abと言う場合もかえられないといけないんです...

書いてないことばかりでごめんなさい。

補足日時:2009/10/28 20:59
    • good
    • 0

"ab" の出現回数とは、違うのですか?

この回答への補足

はいそうです。
言い方が悪くてすみません。

補足日時:2009/10/28 19:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!