質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

受付中

どこが間違っているかを教えてください

oshi4325
oshi4325

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

2回答

0リアクション

0クリップ

456閲覧

投稿2022/08/16 14:06

入力された文字の出現回数をカウントしようという課題をやっていて、自分は下のようなコードを作ったのですが文字を入力するところまでしか動かず、下の二つの関数が動いてくれません。
daigaku と入力したら
d:1回
a:2回
i:1回
g:1回
k:1回
u:1回
と出力されるようにしたいです。
コードはこんな感じです。
どうか回答よろしくお願いします。
#include<stdio.h>
#define MAX 101

count_ch_in_str();
disp();

char g_ch[MAX], input[MAX];
int g_chcount[MAX];

int main(void) {

printf("スペースなしの文字列>"); scanf("%s",input); count_ch_in_str(); disp(); return 0;

}
count_ch_in_str() {
int counta,countb;
for (int i = 0; i != MAX; g_chcount[i])g_chcount[i] = 0;
for (counta = 0; input[counta] != '\0'; counta++) {
for (countb = 0; g_ch[countb] != '\0'; countb++) {
if (input[counta] == g_ch[countb]) {
g_chcount[counta]++;
}
else {
input[counta]=g_ch[counta] ;
g_chcount[counta]++;
}
}
}
}
disp() {
for (int count = 0; g_ch[count] != '\0'; count++) {
printf("%c: %d回\n", g_ch[count], g_chcount[count]);
}
}

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

jimbe

2022/08/16 14:55

コードはマークダウン記法をご利用ください。 マークダウン記法につきましてはヘルプを参照してください。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。