回覆列表
-
1 # 木子李ovo
-
2 # 現在答題全靠運氣的
參考程式碼:
#include<stdio.h>
#define N 10
main(){
int i,j,a[N],SUM=0;
int n1,n2,n,temp;
double ave=0;
printf("input 10 numbers:");
for(i=0;i<N;i++){
printf("\nNO.%d:",i+1);
scanf("%d",&a[i]);
SUM+=a[i];
}
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}
while(N*a[i]>SUM) i--;
n1=N*a[i+1]-SUM;
n2=SUM-N*a[i];
n=n1>n2?i:(i+1);
ave=(double)SUM/N;
printf("\naverage is %f;\n最接近的數字是:%d",ave,n);
getch();
}
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define SIZE 10 //定義陣列、
double avg_array(int *a) //求平均數函式
{
if(a == NULL)
{
printf("the array is NULL!\n");
exit(1);
}
int sum = 0;
int i;
for(i = 0; i < SIZE; i++)
{
sum += a[i];
}
return (sum / SIZE);
}