Ⅰ 用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;
}
(1)用c語言編寫最大值和最小值擴展閱讀
1、如果一個函數確定無需傳入任何參數,那麼用void限定是一個不錯的選擇。函數沒有聲明返回值時,編譯器默認其返回值為int。
2、main函數的返回值最終會作為程序的退出狀態,而一旦聲明為void,在程序退出後,想要獲取其退出狀態也就不可以了。因此不建議其返回值為void。
Ⅱ 數組最大值與最小值的c語言程序編寫
#include<stdio.h>
void output(int a[], int n)
{
int i;
for (i = 0; i < n; i++)
printf("%d ", a[i]);
printf(" ");
}
int main()
{
int a[10] = { 24,15,7,61,23,22,18,39,71,6 }, i, j, max, min,maxi,mini;
max =min= a[0];
maxi = mini = 0;
for (i = 0; i < 10; i++) {
if (max < a[i]) {
max = a[i];
maxi = i;
}
else {
min = a[i];
mini = i;
}
}
output(a,i);
j = a[maxi];
a[maxi] = a[mini];
a[mini] = j;
output(a, i);
}
Ⅲ c語言編程 輸入5個數 求出最大值和最小值
#include<stdio.h>
#include<math.h>
int max(int x,int y)
{
if(x>y)
return x;
else
return y;
}
int min(int x,int y)
{
if(x<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);
}
(3)用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語言程序:用一個函數求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 <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跨切循環層的次數。
Ⅵ 用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
(6)用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語言編寫一個程序,求n個數中的最大值和最小值,要求用函數完成。
#include<stdio.h>
#defineN1024
voidfun(int*a,intn,int*max,int*min){inti;
*max=*min=a[0];
for(i=1;i<n;i++)if(*max<a[i])*max=a[i];elseif(*min>a[i])*min=a[i];
}
voidmain(){inti,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。 ",max,min);
}
Ⅷ c語言編程,輸入n個數,輸出其最大值和最小值
int n;
printf("你要輸入幾個數:");
scanf("%d",&n);
printf("輸入%d個數:",n);
int s[n];
scanf("%d",&s[0]);
int min=s[0],max=s[0];
for(int i=1;i<n;i++)
{scanf("%d",&s[i]);
if(min>s[i])min=s[i];
if(max<s[i])max=s[i];}
printf("最大是%d 最小是%d",max,min);
Ⅸ 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]);
}
(9)用c語言編寫最大值和最小值擴展閱讀:
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。
Ⅹ C語言 三個任意數求輸出最大值最小值
你的錯誤原因在於scanf("%d%d%d"&a,&b,&c);少了一個逗號,應該是scanf("%d%d%d",&a,&b,&c);
以下是三個任意數求輸出最大值最小值正確的代碼:
(10)用c語言編寫最大值和最小值擴展閱讀:
用另外一種方法求三個任意數求輸出最大值最小值
#include <iostream>
using namespace std;
int main()
{
int num1,num2,num3,max,min;
cout<<"任意輸入三個整數:";
cin>>num1>>num2>>num3;
if(num1>num2)
{
max=num1;
min=num2;
}
else
{
max=num2;
min=num1;
}
if(max>num3)
{
max=max;
}
else
{
max=num3;
}
if(min>num3)
{
min=num3;
}
else
{
min=min;
}
cout<<"max="<<max<<endl;
cout<<"min="<<min<<endl;
return 0;
}