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

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

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

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

Q&A

1回答

252閲覧

C言語の問題について

YON

総合スコア10

C

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

0グッド

0クリップ

投稿2018/12/05 07:40

編集2018/12/05 07:53

こんにちは。
C言語を勉強していて 解けない
問題があり、色んな手を使ったのですが
わかりそうにないです。
どなたか私の代わりに
下の問題を
解いてはいただけないでしょうか?

問題
半角250文字入力可能な配列を準備し、
その配列にキーボードから文字列を入力し、
その文字列を入った配列を関数1に送り
関数1の中で「a,i,u,e,o」の中で
最も多い文字(複数ある場合は全て)と
その個数を関数で計算して、
その結果をmainで表示するプログラム。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(){

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dice142

2018/12/05 07:42

丸投げは非推奨です。自分でできるところまでやってみて、その上でどこがわからないのかを絞って質問してください。
YON

2018/12/05 07:53

ごめんなさい。自分でやったところまで書き足しましたのでよろしくお願いします。
PineMatsu

2018/12/05 07:58

自分でやったところって「int main(){」まで?しかも中途半端ですよね。こんな質問誰も答えてくれませんよ。コードが書けないにしても処理の流れとかを文章で書けないですか?それができなければ、どんな言語でも記述するのは無理です。
dice142

2018/12/05 07:58

ん?これ書き足し終わりました?最低限の形もできていませんし、処理がなにもないですが。
cateye

2018/12/05 11:33 編集

問題そのものに問題があるw 250文字と言いながら文字列と言っている。では、入力文字数は249?
otn

2018/12/05 12:26

分かるまで、勉強しましょう。いくら勉強しても分からなければ、諦めましょう。
guest

回答1

0

あんまりよろしくないけどとりあえず一例

C

1#include <stdio.h> 2#include <string.h> 3 4#define N (5) 5char char2index[N] = { 'a', 'i', 'u', 'e', 'o' }; 6int ans[N]; 7 8void func1(char* str) 9{ 10 int arr[N]; 11 int maxValue = 0; 12 memset(arr, 0, sizeof(arr)); 13 14 while(*str != '\0') { 15 for(int i = 0; i < N; i++) { 16 if(char2index[i] == *str) { 17 arr[i]++; 18 maxValue = arr[i] > maxValue ? arr[i] : maxValue; 19 } 20 } 21 str++; 22 } 23 24 for(int i = 0; i < N; i++) { 25 ans[i] = arr[i] >= maxValue ? maxValue : -1; 26 } 27} 28 29int main(void) 30{ 31 char buf[256]; 32 memset(buf, 0, sizeof(buf)); 33 scanf("%s", buf); 34 35 func1(buf); 36 37 for(int i = 0; i < N; i++) { 38 if(ans[i] >= 0) { 39 printf("%c: %d\n", char2index[i], ans[i]); 40 } 41 } 42 43 return(0); 44}

投稿2018/12/05 08:09

rururu3

総合スコア5545

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問