c言語で最大値、最小値、平均値を使ってプログラムを作成し、コンパイルまでしたのですが正しく動かずこまっています。原因を教えていただけたら嬉しいです。
よろしくおねがいします。
(mallocを使わない方法があるのはわかりますが、この形で作成したいです。)
該当のソースコード
#include<stdio.h> #include<stdlib.h> void maxmin (int array[],int size,int *max,int *min); double avg(int *array,int n); int main(void) { int i,max,min; int n; int *array; printf("何個の整数を入力しますか→"); scanf("%d",&n); array = (int*)malloc(sizeof(int)*n); for(i=0;i<n;++i){ printf("%d番目の数: ",i+1); scanf("%d",&array[i]); }; maxmin(array,n,&max,&min); int z; z=avg(array,i); getchar(); printf("最大値 %d : 最小値 %d : 平均値 %d\n",max,min,z); free(array); return 0; } void maxmin(int array[],int size,int *max,int *min) { int i=1; *max=*min=array[0]; if(array[i]>*max)*max=array[i]; if(array[i]<*min)*min=array[i]; i++; } double avg(int *array,int n){ int sum; int j; sum=0; for(j=0;j<n;j++){ sum=sum+array[n]; } return sum /(double)n; }
> 正しく動かずこまっています。
なにが/どう 正しく動かないのか説明してください。
回答1件
あなたの回答
tips
プレビュー