當前位置:首頁 » 編程語言 » c語言求最大或最小值

c語言求最大或最小值

發布時間: 2022-09-22 04:48:23

c語言問題關於求出最大值和最小值

第一個問題:
為什麼在求最大最小值錢,要把a[0][0]賦值給max,min
答:
因為max,min在最開始沒有初始化,不能直接比較,而因為是比較數組里的值,又不能隨便初始化。所以我們選擇默認第一個數最大(或最小)。
第二個問題:
if語句
有很多個條件符合這個條件啊,怎麼只輸出那個最大的
而其他也符合這個條件的?
答:
我們先默認了最大(或最小值)是第一個數組元素,我們把他依次和後面元素比較,當碰到比它大(或小)的值,我們就把它保存到max(min),並在h,l中保存元素所在數組的位置,所以每次比較完,max(min)里保存的始終是最大(或最小)值。

❷ 用C語言,任意輸入10個數,求其中的最大值和最小值

任意輸入10個數,求其中的最大值和最小值的源代碼如下:

#include<stdio.h>

#define SIZE_MAX 30

int max(int b[],int n);

int min(int b[],int n);

int main(void)

{

int a[SIZE_MAX],b,c,i,m;

printf("任意多個數,判斷最大值和最小值: ");

printf("輸入一個數,表示你想比較多少個數字: ");

scanf("%d",&m);

printf("你輸入了%d個數 ",m);

printf("請你輸入%d個數 ",m);

for(i=0;i<m;i++)

{

scanf("%d",&a[i]);

}

b=max(a,m);

c=min(a,m);

printf("你輸入的%d分別是: ",m);

for(i=0;i<m;i++)

{

printf("%d ",a[i]);

printf("最大數是:%d ",b);

printf("最小數是:%d ",c);

return 0;

}

(2)c語言求最大或最小值擴展閱讀

1、如果一個函數確定無需傳入任何參數,那麼用void限定是一個不錯的選擇。函數沒有聲明返回值時,編譯器默認其返回值為int。

2、main函數的返回值最終會作為程序的退出狀態,而一旦聲明為void,在程序退出後,想要獲取其退出狀態也就不可以了。因此不建議其返回值為void。

❸ C語言如何求100個數中的最大最小值

#include<stdio.h>
voidmain()
{
inti;
floatmin,max,a[100];
scanf("%f",&a[0]);
min=a[0];max=a[0];
for(i=1;i<100;i++)
{
scanf("%f",&a[i])
if(min>a[i])min=a[i];
if(max<a[i])max=a[i];
}
printf("最大值=%f 最小值=%f",max,min);
}

❹ c語言中,從一組數中找最大值和最小值

#include <stdio.h>

// 獲取數組元素的最大值和最小值

int main(void){

(此處空一行)

int arr[] = {1,2,3,5,67,8,9,33};

int min,max;

compute_m(arr,sizeof(arr)/sizeof(int),&min,&max);

(此處空一行)

printf("result: min = %d , max = %d ",min,max);

return 0;

}

(此處空一行)

void compute_m(int arr[],int len, int* min ,int* max){

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

if (*min>arr[i]){

*min = arr[i];

}

(此處空一行)

if (*max<arr[i]){

*max = arr[i];

}

}

}

(4)c語言求最大或最小值擴展閱讀:

實際操作

int ary[5];

int max;

int min;

printf("請輸入數組中的五個數字: ");

for (int i=0; i<5; i++)

{

scanf("%d",&ary[i]); //數組中存放五個數字必須挨個遍歷存放

}

max = ary[0];

min = ary[0]; //把ary[0]都賦值給max和min

for(int j=1; j<5; j++) //求最大、最小

{

if (max<ary[j])

max = ary[j]; //有比max大的就賦值給max

if (min>ary[j])

min = ary[j]; 有比min小的就賦值給min

}

printf("數組中的最大值為 %d , 最小值為 %d ",max,min);

❺ 求c語言程序:用一個函數求N個數的最大值和最小值。。。

#include<stdio.h>
intmax(intn)
{inti,x,f;
scanf("%d",&f);
for(i=1;i<n;i++)
{scanf("%d",&x);
if(x>f)f=x;
}
returnf;
}
intmain()
{intn;
printf("有幾個數:");
scanf("%d",&n);
printf("其中最大的數是:%d ",max(n));
return0;
}

#include<stdio.h>

int min;

int maxmin(int n)

{int i,x,f;

scanf("%d",&f);

min=f;

for(i=1;i<n;i++)

{scanf("%d",&x);

if(x>f)f=x;

else if(x<min)min=x;

}

return f;

}

int main()

{int n,mm;

printf("有幾個數:");

scanf("%d",&n);

mm=maxmin(n);

printf("其中最大的數是:%d 最小的數是:%d ",mm,min);

return 0;

}

❻ c語言編程 輸入5個數 求出最大值和最小值

#include&lt;stdio.h&gt;

#include&lt;math.h&gt;

int max(int x,int y)

{

if(x&gt;y)

return x;

else

return y;

}

int min(int x,int y)

{

if(x&lt;y)

return x;

else

return y;

}

int main()

{

int x,y,a,b,c,d,e,f,g,h,i,t,o,p,l;printf("輸入任意五個整數: ");scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);

f=max(a,b);

g=max(f,c);

h=max(g,d);

i=max(h,e);

t=min(a,b);

o=min(t,c);

p=min(o,d);

l=min(p,e);

printf("max=%d,min=%d ",i,l);

}

(6)c語言求最大或最小值擴展閱讀:

return

C++的關鍵字,它提供了終止函數執行的一種方式。當return語句提供了一個值時,這個值就成為函數的返回值.

說到return,有必要提及主函數的定義,下面是從網路上找到的資料,好好消化吧,對了解主函數中返回值的理解有很大的幫助.

很多人甚至市面上的一些書籍,都使用了void main(),其實這是錯誤的。C/C++中從來沒有定義過void main()。

C++之父Bjarne Stroustrup在他的主頁上的FAQ中明確地寫著The definition void main(){/*...*/}is not and never has been C++,

nor has it even been C.(void main()從來就不存在於C++或者C)。下面我分別說一下C和C++標准中對main函數的定義。

1.C

在C89中,main()是可以接受的。Brian W.Kernighan和Dennis M.Ritchie的經典巨著The C programming Language 2e(《C程序設計語言第二版》)用的就是main()。不過在最新的C99標准中,只有以下兩種定義方式是正確的:

int main(void)

int main(int argc,char*argv[])

(參考資料:ISO/IEC 9899:1999(E)Programming languages—C 5.1.2.2.1 Program startup)

當然,我們也可以做一點小小的改動。例如:char*argv[]可以寫成char**argv;argv和argc可以改成別的變數名(如intval和charval),不過一定要符合變數的命名規則。

如果不需要從命令行中獲取參數,請用int main(void);否則請用int main(int argc,char*argv[])。

main函數的返回值類型必須是int,這樣返回值才能傳遞給程序的激活者(如操作系統)。

如果main函數的最後沒有寫return語句的話,C99規定編譯器要自動在生成的目標文件中(如exe文件)加入return 0;,表示程序正常退出。不過,我還是建議你最好在main函數的最後加上return語句,雖然沒有這個必要,但這是一個好的習慣。

注意,vc6不會在目標文件中加入return 0;,大概是因為vc6是98年的產品,所以才不支持這個特性。現在明白我為什麼建議你最好加上return語句了吧!不過,gcc3.2(Linux下的C編譯器)會在生成的目標文件中加入return 0;。



❼ 用c語言找最大值和最小值

用指針求含有十個元素的數組最大值和最小值

主函數參考

int main()

{

int a[10],i,maxnum,minnum;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

FindMaxandMin(a,10,&maxnum,&minnum);

printf("%d %d",maxnum,minnum);

}

輸入格式:

數組

輸出格式:

最大值 最小值

輸入樣例:

1 2 3 5 4 6 7 8 9 10

輸出樣例:

10 1

(7)c語言求最大或最小值擴展閱讀

#include

int main()

{

int a[3];

int i,j,temp;

printf("請輸入3個數:");

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

for(i=0;i for(j=0;j if(a[j]>a[j+1])

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

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

return 0;

}

❽ C語言求最大最小值

#include "stdio.h"
void main()
{
int a[5],i,max,min;
printf("請輸入五個數:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
max=min=a[0];
for(i=1;i<5;i++)
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
printf("max=%d\n",max);
printf("min=%d\n",min);
printf("和是%d\n",max+min);
printf("差是%d\n",max-min);

}

❾ C語言求最大最小值

1)問題出在minmax函數,這個函數找到的最大值和最小值沒有返回。
2)雖然你定義了最大值和最小值為全局變數,但是在minmax函數的調用參數中你又定義了同名變數,這樣在minmax函數內部實際使用的是局部變數。
3)最簡單的方法,直接把minmax函數的後兩個輸入參數去掉。

❿ 編寫一個c語言程序,輸入5個數,求它們中最大值和最小值並輸出

#include <stdio.h>

void main( )

{

int i = 0 , num[5], max = 0 , min = 0 ; /* max:用於存放最大值;min:用於存放最小值 */

for( i = 0 ; i < 5 ; i ++ )

scanf("%d", &num[i]) ; /* 循環地將輸入的五個數存入 num[5] 數組中 */

for( i = 0 ; i < 5 ; i ++ ) /* 循環地判斷數組中的數要是比 max 還大,則將相應的數存入 max 變數中 */

if( num[i] >= max )

max = num[i] ;

for( i = 0; i < 5 ; i ++ ) /* 循環地判斷數組中的數要是比 min 還小,則將相應的數存入 min 變數中 */

if( num[i] <= min )

min = num[i] ;

printf("MAX num is :%d MIN num is :%d ", max, min) ;

}

c語言編程技巧

1、while(--n>=0)與while(n-->0)

在大多數C語言實現中,--n >=0 至少與等效的n-- >0 一樣快,大多數情況下前者更快。

主要因為第一個表達式首先從n中減去1然後將結果與0比較;而第二個表達式首先保存n,從n中減去1之後比較保存值與0的大小,這中間多了一個保存的時間,從而前一個表達式更快。

注意:這樣的循環中,盡量不使用unsigned類型,否則前者會出現無限循環情況。

2、多重循環處理

對於多重循環,如果可能,應將最長的循環放在最內層,最短的循環放在最外層,以減少CPU跨切循環層的次數。

熱點內容
收件伺服器有什麼作用 發布:2025-01-10 21:50:01 瀏覽:387
安卓70緩存 發布:2025-01-10 21:49:03 瀏覽:680
圖像檢索演算法 發布:2025-01-10 21:43:58 瀏覽:555
plsqlforupdate 發布:2025-01-10 21:43:50 瀏覽:914
如何設置健康碼快捷方式vivo安卓 發布:2025-01-10 21:39:52 瀏覽:500
安卓不兼容怎麼解決 發布:2025-01-10 21:37:02 瀏覽:29
linux字體大小 發布:2025-01-10 21:36:21 瀏覽:492
安卓手機的音量在哪裡調 發布:2025-01-10 21:32:11 瀏覽:613
路由器怎麼設置登錄密碼怎麼設置密碼 發布:2025-01-10 21:11:12 瀏覽:893
營運車解壓 發布:2025-01-10 21:11:01 瀏覽:932