用C语言编写一个程序,求n个数中的最大值和最小值,要求用函数完成。

如题所述

代码如下(用冒泡排序法):

#include <stdio.h>

void bubble(int a[], int n)
{
    int i, j, temp;
    for (j = 0; j < n - 1; j++)
        for (i = 0; i < n - 1 - j; i++)
        {
            if(a[i] > a[i + 1])
            {
                temp = a[i];
                a[i] = a[i + 1];
                a[i + 1] = temp;
            }
        }
}

int main(void)
{
    int a[10];
    for(int i = 0; i < 10; i++)
        scanf("%d", &a[i]);
    bubble(a, 10);
    printf("Max: %d, min: %d", a[9], a[0]);
    
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-08-21
#include<stdio.h>
#define N 1024
void fun(int *a,int n,int *max,int *min) { int i;
  *max=*min=a[0];
  for ( i=1;i<n;i++ ) if ( *max<a[i] ) *max=a[i]; else if ( *min>a[i] ) *min=a[i];
}
void main() { int i,n,max,min,a[N];
  scanf("%d",&n); if ( n>N ) n=N;
  for ( i=0;i<n;i++ ) scanf("%d",&a[i]);
  fun(a,n,&max,&min);
  printf("最大值=%d,最小值=%d。\n",max,min);
}

用C语言编写一个程序,求n个数中的最大值和最小值,要求用函数完成。
思路:首先设置最大最小的值都是数组第一个数,然后遍历数组,出现比当前最大值大的,修改最大值为这个数。出现比最小值小的,修改最小值为这个数。代码 include <stdio.h>\/\/为了方便返回,使用结构体存储最大值和最小值typedef struct { int Max; int Min;}MaxMin; \/\/函数参数array:数组...

用C语言编写一个程序,求n个数中的最大值和最小值,要求用函数完成...
include <stdio.h>void bubble(int a[], int n){ int i, j, temp; for (j = 0; j < n - 1; j++) for (i = 0; i < n - 1 - j; i++) { if(a[i] > a[i + 1]) { temp = a[i]; a[i] = a[i + 1]; a[i + 1] = temp;...

C语言,求n个数得的最大值,最小值,平均值,用函数,不要用数组
scanf("%f",&p1->value);p1->next = NULL;\/\/判断是否等于-1if(p1->value == -1){free(p1);return;}\/\/判断头指针是否为空if(head == NULL)head = p1;elsep2->next = p1;p2 = p1;}}\/\/求最大值、最小值、和、数量void maxMin(){\/\/初始化三个值p1 = head;max = min = p1...

用C语言编程.写出一函数,求出有N个元素的整数数组的最大值及其...
楼主,我的程序如下。函数max读入一个n元素的数组a,返回其中最大元素的地址。这样,在调用max的函数中(这里是main),可以通过两种运算分别得到最大元素的值和它的下标(见main中注释)include int max(int a,int n){ int i;int p = a;for (i = 0;i < n;i++ )if (a[i]> p )p ...

C语言程序设计:设计一函数求包含n个元素的数组的最大值、最小值与?
int fun(int a[],int n){int i,s;max=min=s=a[0];for(i=1;i<n;i++){s+=a[i];if(a[i]>max)max=a[i];else if(a[i]<min)min=a[i];} return s;} int main(){ int i,n,a[200],sum;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);sum=fun(a,...

...寻找具有n个元素的一维数组中的最大值和最小值,并返回数组元素的平...
include<stdio.h>double fun(int a[],int n,int *max,int *min){int i,s; *max=*min=s=a[0]; for(i=1;i<n;i++) {if(a[i]>*max)*max=a[i]; if(a[i]<*min)*min=a[i]; s+=a[i]; } return (float)s\/n; }int main(){int n,max,min,i,a[100...

求N个数的最大值 C语言
return x[m-1]>findmax(x,m-1)?x[m-1]:findmax(x,m-1);else return 0;} main(){int x[8]={75,34,26,78,100,98,24,19};int n;printf("input the 'n':\\n");scanf("%d",&n);printf("%d\\n",findmax(x,n));} 功能说明:返回数组中前n个数中的最大值,findmax使用...

求c语言程序:用一个函数求N个数的最大值和最小值。。。
1.LZ要的是一个函数,需要在main 函数中进行调用,而不是要完整的main函数。2.LZ要的函数功能只要求 求出最大值跟最小值,而不需要排序。3。你的程序中用的是a[10],但n 是可以随便输入的,这就存在一个问题:n 要是大于10时,a[n]就会溢出。下面是我编写的一个程序,当然我不能保证它是...

...输入n(要求手动输入)个整数,求这n个整数的最大值、最小值、最大值...
scanf("%d",&n);if(n < = 0)\/\/n小于=0 非法;return;for(i = 0;i < n;i++){ scanf("%d",&val);if(i == 0)\/\/第一次输入的值 赋值给 最大值 最小值; 序号都赋值为0;{ max_v = val;min_v = val;max_i = i;min_i = i;} else { if(val > max_v) \/\/当...

用C语言 函数编程 实现输入两个数求出最大值
\/ 2012年3月11日15:10:42 目的:求n个数中的较大者 \/ include <stdio.h> int main(){ int n;printf("请输入要比较大小的个数:n=?");scanf("%d", &n);printf("\\n");int i, a[n], max = a[0];printf("请输入%d个整数,中间用空格间隔\\n", n);for (i = 0; i < n...

相似回答