分类：电脑/网络-程序设计-C/C++
问题：小弟有个关于c语言的问题想请教各位达人~#include&lt; 
 #include<std.h> #include<stdlib.h> #define NUM 10 void input(int value[]); void output(int value[]); void sort(int value[]); int maxvalue(int value[]); int minvalue(int value[]); double average(int value[]); void main() {   int value[NUM];  #include<std.h> #include<stdlib.h> #define NUM 10 void input(int value[]); void output(int value[]); void sort(int value[]); int maxvalue(int value[]); int minvalue(int value[]); double average(int value[]); void main() {   int value[NUM];   input(value);   output(value);   sort(value);   output(value);   printf("\nThe max is:%d",maxvalue(value));   printf("\nThe min is:%d",minvalue(value));   printf("\nThe average is:%lf",average(value)); } void input(int value[]) {   int i;   printf("\nEnter %dintegers:",NUM);   for(i=0;i<NUM;i++)   scanf("%d",&value[i]); } void output(int value[]) {   int i;   printf("\n");   for(i=0;i<NUM;i++)   printf("%5d",value[i]); } void sort(int value[]) {   int i,j,temp;   for(i=NUM-1;i>=1;i--)     for(j=0;j<i;j++){       if(value[j]>value[j+1]){       temp=value[j];       value[j]=value[j+1];       value[j+1]=temp;       }     } } int maxvalue(int value[]) {   sort(value);   return(value[NUM-1]); } int minvalue(int value[]) {   sort(value);   return(value[0]); } double average(int value[]) {   int sum=0,i;   double a;   for(i=0;i<NUM;i++){   sum=sum+value[i];}   a=sum*1.0/NUM;   return a; }着是我做的一道c语言的题目,可是现在我做的这个程序只能输入10个数字(不能多不能少正好10个~),我想随意输入n个数字(随意输入n个),也让程序能生效,请问各位大虾怎么改?谢谢了~~~!!!
回答：简单的改的话，把NUM定大点，用户可以输入个数n，但n要比NUM小。#include<std.h>#include<stdlib.h>#define NUM 100void input(int value[],int n);void output(int value[],int n);void sort(int value[],int n);int maxvalue(int value[],int n);int minvalue(int value[],int n);double average(int value[],int n);void main(){int value[NUM],n;printf("\nEnter n(n<=%d):",NUM);scanf("%d",&n);input(value,n);output(value,n);sort(value,n);output(value,n);printf("\nThe max is:%d",maxvalue(value,n));printf("\nThe min is:%d",minvalue(value,n));printf("\nThe average is:%lf",average(value,n));}void input(int value[],int n){int i;printf("\nEnter %d integers:\n",n);for(i=0;i<n;i++)scanf("%d",&value[i]);}void output(int value[],int n){int i;printf("\n");for(i=0;i<n;i++)printf("%5d",value[i]);}void sort(int value[],int n){int i,j,temp;for(i=n-1;i>=1;i--)for(j=0;j<i;j++){if(value[j]>value[j+1]){temp=value[j];value[j]=value[j+1];value[j+1]=temp;}}}int maxvalue(int value[],int n){sort(value,n);return(value[n-1]);}int minvalue(int value[],int n){sort(value,n);return(value[0]);}double average(int value[],int n){int sum=0,i;double a;for(i=0;i<n;i++){sum=sum+value[i];}a=sum*1.0/n;return a;}