ショボ短歌会

(ポインタ変数を用いた)プログラミングをしたのですが、うまく作動しません。                                     

1~100の整数を6つ選んでもらい入力させ,その6つのデータの合計,平均,最大,最小を表示するプログラムを,以下のユーザ関数を用いて作成しようとしてるのですがうまくいきません.
void call(int n,int a[],int *sum,int *ave,int *max,int *min)

作成したプログラムのどこがいけないのかご指摘してもらえると幸いです.

「(ポインタ変数を用いた)プログラミングを」の質問画像

A 回答 (3件)

修正しました。

//修正 //追加 等のコメントのある行が変更箇所です。
--------------------------------------
#include<stdio.h>

void call(int n,int a[],int *sum,int *ave,int *max,int *min);

int main() //修正
{
int m,b[6],goukei,heikin,saidai,saisyou; //修正

printf("上限100までの整数を6つ入力してください\n");
fflush(stdout);
for(m=0;m<6;m++){
scanf("%d",&b[m]);
}
call(6,b,&goukei,&heikin,&saidai,&saisyou); //修正
printf("合計:%d 平均:%d 最大:%d 最小:%d",goukei,heikin,saidai,saisyou);

return 0;
}

void call(int youso_su,int a[],int *sum,int *ave,int *max,int *min) //修正
{
int n; //追加
*sum=0;
for(n=0;n<youso_su;n++){ //修正
*sum+=a[n];
}

*ave=*sum/youso_su;

*max=a[0];
for(n=0;n<youso_su;n++){ //修正
if(a[n]>*max){
*max=a[n];
}
}

*min=a[0];
for(n=0;n<youso_su;n++){ //修正
if(a[n]<*min){
*min=a[n];
}
}
}
    • good
    • 0
この回答へのお礼

沼にハマってどうしようも無くなってたので本当に助かりました!本当にありがとうございます!!

お礼日時:2021/01/13 08:52

ごめんなさい


解りません
    • good
    • 0

コードの写真を貼り付けるのではなくコードそのものをここに記載しないと検証するのが面倒です

    • good
    • 0
この回答へのお礼

お願いいたします。
#include<stdio.h>

void call(int n,int a[],int *sum,int *ave,int *max,int *min);

main()
{
int m,b[],goukei,heikin,saidai,saisyou;

printf("上限100までの整数を6つ入力してください\n");
fflush(stdout);
for(m=0;m<6;m++){
scanf("%d",b[m]);
}
call(m,b[],&goukei,&heikin,&saidai,&saisyou);
printf("合計:%d 平均:%d 最大:%d 最小:%d",goukei,heikin,saidai,saisyou);

return 0;
}

void call(int n,int a[],int *sum,int *ave,int *max,int *min)
{
*sum=0;
for(n=0;n<6;n++){
*sum+=a[n];
}

*ave=*sum/6;

*max=a[0];
for(n=0;n<6;n++){
if(a[n]>*max){
*max=a[n];
}
}

*min=a[0];
for(n=0;n<6;n++){
if(a[n]<*min){
*min=a[n];
}
}
}

お礼日時:2021/01/13 08:19

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