當前位置:首頁 » 編程語言 » c語言求數組中最大值與最小值的差
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言求數組中最大值與最小值的差

發布時間: 2022-06-07 23:24:41

A. c語言 求數列中最大值和最小值得差

函數用指針完成,代碼如下:

#include <stdio.h>
#include <math.h>
//dFun函數功能是從一個輸入數組或者指向數組的指針中,
//查找最大和最小的元素,並返回這2個最值的差。
double dFun(double *pd,int in) //參數分別是double型數組和數組中元素個數
{
int i;
double *pdmax,*pdmin; //兩個指針分別指向數組中最大和最小的元素
if(*pd>*(pd+1)) //首先假設數組中前兩個元素中大的是最大值,小的是最小值
{
pdmax=pd;
pdmin=pd+1;
}
else
{
pdmax=pd+1;
pdmin=pd;
}
for(i=2;i<in;i++) //將最大值和最小值指針分別與數組中剩餘元素進行比較,保留最大和最小
{
if(*(pd+i)>*pdmax)
pdmax=pd+i;
else if(*(pd+i)<*pdmin)
pdmin=pd+i;
}
return (*pdmax-*pdmin); //經過一輪循環後,最大、最小值確定,將指針指向的值做差,返回。
}

int main(void)
{
double x = 0,da[5]={9.3,2.2,6.3,4.4,5.5};

x=dFun(da,sizeof(da)/sizeof(double));

printf("%f\n",x);

return 0;
}

B. C語言編程:求一批數中最大值與最小值的差!

1、用VB6.0先隨機產生10個100~200之間的數,然後求最大值。

C. 跪求!電腦高手,C語言,急!調用函數F,求A數組中最大值與B數組中最小值的差

#include "stdafx.h"
#include<stdio.h>
int f(int a[],int b[])
{
int max,min,x,i; max=a[0];
min=b[0];
for(i=0;i<10;i++)
{
if(a[i]>=max)
max=a[i];
if(b[i]<=b[i])
min=b[i];
}
x=max-min;
return x;}int main(int argc, char* argv[])
{
int a[10],b[10],c;
int i;
printf("請輸入數組a:\n");
for(i=0;i<10;i++)
scanf("%d",a[i]);
printf("請輸入b數組:\n");
for(i=0;i<10;i++)
scanf("%d",b[i]);
c=f(a[10],b[10]);
printf("兩者之差為:%d\n",c);
return 0;
}

D. 用c語言編寫fun函數求一批數中最大值與最小值的差

#include<stdio.h>
#define N 10
main()
{
int p=0,q,a[N],i,s;
int max(int x,int y);
int min(int x,int y);
printf("請輸入%d個正整數\n\n",N);
for (i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0,q=a[0];i<N;i++)
{
p=max(a[i],p);
q=min(a[i],q);
}
s=p-q;
printf("\n最大值為%d\n最小值為%d\n這批數中最大值與最小值的差為%d\n",p,q,s);
return 0;
}
int max(int x,int y)
{
int max;
max=x>y?x:y;
return max;
}
int min(int x,int y)
{
int min;
min=x<y?x:y;
return min;
}

E. 用c語言編寫求數組元素最大值和最小值!謝謝各位大佬

1、apply方式,借用Math中的max/min方法實現。

F. C語言編程,多種方法求一個數組里的最大值和最小值。

因為只是找出最大最小值,直接循環每個比較一次就可以。

#include<stdio.h> //挑選法

#define N 10

void main() { int a[N],m,n,i;

for ( i=0;i<N;i++ ) scanf("%d",&a[i]);

m=n=a[0]; for ( i=1;i<N;i++ ) if ( m<a[i] ) m=a[i]; else if ( n>a[i] ) n=a[i];

printf("最大值%d,最小值%d ",m,n);

}

#include<stdio.h> //排序法

#define N 10

void main() { int a[N],i,j,k;

for ( i=0;i<N;i++ ) scanf("%d",&a[i]);

for ( i=0;i<N-1;i++ ) for ( j=i+1;j<N;j++ ) if ( a[i]<a[j] ) {k=a[i];a[i]=a[j];a[j]=k;}

printf("最大值%d,最小值%d ",a[0],a[N-1]);

}

(6)c語言求數組中最大值與最小值的差擴展閱讀:

C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。

G. C語言求數組中最大值和最小值之差

函數的形參定義是int型,實參卻是char型,主函數內的數組不應該定義成char型,改為int型。

H. 用C語言編寫函數:求一批整數中最大值和最小值的差。

根據程序的要求,我們應該要求出這批數中的最大和最小值,然後進行做差的操作,這樣就可以得出最大值與最小值的差值。

你程序的問題是函數輸入的參數有問題max_main(a[],10)應該修改成max_main(a,10),這樣才能正確的調用函數。

處理函數正確代碼如下:

int max_main(int a[], int e) {

max = a[0];

min = a[0];

for (int i = 0; i < e; i++) {

if (a[i + 1] > max)

max = a[i + 1];

if (a[i + 1] < min)

min = a[i + 1];
}

t = max - min;

return (t);

}

(8)c語言求數組中最大值與最小值的差擴展閱讀:

函數的分類:

庫函數,它是由系統提供的,用戶不必自己定義,可直接使用它們。應該說明,不同的c語言編譯系統提供的庫函數的數量和功能會有一些不同,當然許多基本的函數是共同的。

用戶自己定義的函數。它是以解決用戶專門需求的函數。

從函數的形式來看,函數分為兩類:

無參函數,無參函數可以帶回或不帶回函數值,但一般不帶回函數值較多。

有參函數,在調用函數時,主調函數在調用被調函數時,通過參數向被調函數傳遞數據。執行調用函數時會得到一個函數值,供主調函數使用。

C語言函數的注意事項:

C語言中不允許作嵌套的函數定義。因此各函數之間是平行的,不存在上一級函數和下一級函數的問題。

C語言允許在一個函數的定義中出現對另一個函數的調用。這樣就出現了函數的嵌套調用。即在被調函數中又調用其它函數。

參考資料來源:網路-函數調用