double型の配列とint型のflgを渡してflgが0の時は配列の要素の最小値を、flgが0以外の時は配列の要素の最大値を返す関数minMaxを作成したのですがうまく動作しません。
どこが悪いのでしょうか?教えてください。
C
1コード 2#include <stdio.h> 3 4#define N 5 5 6double minMax(double x[],int flg){ 7 int i=0; 8 double min=x[N],max; 9 if(flg){ 10 for(i=0;i<N;i++){ 11 if(x[i]<min){ 12 min=x[i]; 13 } 14 i++; 15 } 16 return min; 17 } 18 else{ 19 for(i=0;i<N;i++){ 20 if(x[i]>max){ 21 max=x[i]; 22 } 23 i++; 24 } 25 return max; 26 } 27 28} 29 30 31int main(){ 32 int flg; 33 double a[N]={2.7,0.4,6.2,1.5,8.4}; 34 35 printf("最小値=%f",minMax(0,flg)); 36 printf("最大値=%f",minMax(1,flg)); 37 38}
回答4件
あなたの回答
tips
プレビュー