c语言 求十个数中最大值与最小值

#include<stdio.h>
int main(void)
{
int n,i,max,min,a,b,c;
max=n;
min=n;
a=0;
printf("请输入十个数\n");
for(i=1;i<=10;i++)
{
scanf("%d",&n);
a=a+n;
if(max<n)
max=n;

if(min>n)
min=n;
}
a=a/10;
b=max-a;
c=a-min;
printf("其中最大值为%d,最小值为%d,最大值与平均值相差%d,最小值与平均值相差%d\n",max,min,b,c);
return 0;
}
求教哪里搞错了 谢谢大大们!

#include <stdio.h>
#define N 10
//求最大值函数
int max_func(int a[],int n)
{
    int i,max;
    for(max=a[0],i=1;i<N;i++)  //初始默认最大值为a[0],遍历数组元素
        if(max<a[i])  //如果当前最大值<当前数组元素,则将该元素赋值给max
            max=a[i];
    return max;
}
//求最小值函数
int min_func(int a[],int n)
{
    int i,min;
    for(min=a[0],i=1;i<N;i++)  //初始默认最小值为a[0],遍历数组元素
        if(min>a[i])  //如果当前最小值>当前数组元素,则将该元素赋值给min
            min=a[i];
    return min;
}
int main()
{
    int arr[N],i;
    int max,min;
    for(i=0;i<N;i++)  //输入10个数组元素
        scanf("%d",&arr[i]);
    max=max_func(arr,N);  //调用max_func()函数
    min=min_func(arr,N);  //调用min_func()函数
    printf("最大值=%d\n最小值=%d\n",max,min);  //输出结果
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-29
以下是我写的程序,并且在我自己的电脑上运行了 #include "stdio.h" main() {int a[10]; int i,j,min,max; for(i=0;i<10;i ) scanf("%d",&a[i]); min=a[0],max=a[0]; for(i=0;i<10;i ) { if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i]; } printf("max=%d,min=%d",max,min); } 补充:说明:上面我定义的J是多余变量,没有用上,可以删去。
第2个回答  2014-03-29
#include<stdio.h>
int main()
{
int a[5],i,j,k,m; //这里你把它改成10就可以了;
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
k=a[0];
for(j=0;j<5;j++)
{
if(k<a[j])
{
k=a[j];
}
if(m>a[j])
{
m=a[j];
}
}
printf("%d %d",k,m);
}本回答被网友采纳
第3个回答  2014-03-29
max=n;
min=n;此时n根本不知道是啥,把两个都等于零就行了。
相似回答