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

プログラミングを教えて欲しいです。

配列aは、int a[9]={7,6,12,8,3,5,10,9,5}; のように初期化されている。
この時、この配列の、最大、最小、平均を実行例のように表示する
プログラムを作れ。

実行例)
max=12 min=3 ave=7.222222

プログラム構成例)
#include <stdio.h>
void main(){
int a[9]={7,6,12,8,3,5,10,9,5};
int i, max, min, sum=0;
double ave;

}

A 回答 (4件)

No3です。


こちらを試してください。
Visual Studio 2019のコンソールアプリでプロジェクトを立ち上げました。

#include<stdio.h>
#include<string>
#include<iostream>
#include<sstream>
using namespace std;

int main()
{
int a[9] = { 7,6,12,8,3,5,10,9,5 };
int i, max, min, sum = 0;
double ave;

max = 0;
min = 12;

for (i = 0; i < 9; i++) {
if (max < a[i])max = a[i];
if (min > a[i])min = a[i];
sum += a[i];
}

ave = (double)sum / (double)9.0;

stringstream ss;
stringstream ss1;
stringstream ss2;
ss << max;
string str = ss.str();
cout <<"max=" << str;
cout << " ";
ss1 << min;
str = ss1.str();
cout << "min=" << str;
cout << " ";
ss2 << ave;
str = ss2.str();
cout << "ave=" << str;
cout << "\n\n";
system("pause");

return 0;
}
    • good
    • 0

下記を試してください。



void main(){
int a[9]={7,6,12,8,3,5,10,9,5};
int i, max, min, sum=0;
double ave;

max = 0;
min = 12;

for(i = 0; i < 9; i++){
if(max < a[i])max = a[i];
if(min > a[i])min = a[i];
sum += a[i];
}

ave = sum / (double)9;

char OutTxt[64];
memset(OutTxt, 0, 64);
sprintf(OutTxt, "max=%d ", max);
sprintf(OutTxt + strlen(OutTxt), "min=%d ", min);
sprintf(OutTxt + strlen(OutTxt), "ave=%.6f", ave);
MessageBox(NULL, OutTxt, "結果", MB_OK);
}
    • good
    • 0
    • good
    • 0
この回答へのお礼

助かりました

ありがとう

お礼日時:2022/12/20 09:24

max = a[0];


min = a[0];
for(i=0;i<9;i++){
sum += a[i];
if(min > a[i]){
min = a[i]
}
if(max < a[i]){
max = a[i]
}
}
ave = sum / 9;

こんな感じでしょうか。実行は試していないのであしからず。
    • good
    • 0

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