無題
Re:無題
こんな感じでしょうか↓
#include<stdio.h> #include<stdlib.h> double average(int,double*); /*平均値を求める関数*/ double max(double,double); /*二つの実数のうち大きいほうを返す関数*/ int main(void) { char nyuryoku[1000]; /*入力した値を一時的に記憶する変数*/ int N; /*最初の正整数N*/ int count;/*実数入力時のカウントのための変数*/ double *input; /*そのあとの実数を記憶する変数*/ double heikin; /*平均値の変数*/ double saidai; /*最大値の変数*/ /*Nの入力部分*/ fgets(nyuryoku,1000,stdin); N = atoi(nyuryoku); input = (double*)malloc(sizeof(int)*N); /*N個の配列を確保(動的配列)*/ if(input==NULL){ return -1; } /*実数の入力部分*/ for(count=0;count<N;count++){ fgets(nyuryoku,1000,stdin); input[count] = atof(nyuryoku); } /*平均値を求める*/ heikin = average(N,input); /*最大値を求める*/ saidai=input[0]; for(count=0;count<N;count++){ saidai=max(saidai,input[count]); } /*まとめて表示*/ printf("%f,%f\n",heikin,saidai); free(input); return 0; } double average(int kazu,double *value) { int count; /*カウント用変数*/ double total=0;/*配列の総和*/ for(count=0;count<kazu;count++){ total += value[count]; } return(total/kazu); } double max(double index1,double index2) { if(index1>=index2){ return index1; }else{ return index2; } return 0.0; }表示はコンマで区切るようにしています。数値入力については、一回一回改行が必要です。