您的程序有多處錯誤。既然是初學,就先把最基本的東西都弄清楚啊,否則別人都不愿意幫您。簡單列出您的錯誤如下:
專注于為中小企業(yè)提供成都網(wǎng)站建設、做網(wǎng)站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)仁壽免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
1)在max函數(shù)內又聲明了a[10],這和傳遞給max函數(shù)的參數(shù)同名。
2)在max函數(shù)內聲明了一個變量max,這與max函數(shù)又是同名,雖然不一定會出錯,但需要盡量避免啊。
3)int max(int a[], int i)是正確的寫法,不必寫int a[10]。
4)在主函數(shù)main中的max(a[10],i)就是錯誤的寫法了,把數(shù)組傳遞給函數(shù)時,只能寫數(shù)組名a,不能寫a[10],a[10]只代表了數(shù)組中的一個元素。
5)printf中的那個max,屬于未聲明就使用的變量,而且又與函數(shù)max同名。
給個修改后的程序,您自己對照吧。
6)printf函數(shù)沒指定最大值的輸出位置與格式。
#include "stdafx.h"
#include "stdio.h"
int max(int a[])//原代碼中將i傳遞進來,毫無必要
{
int maxv=a[0];//原代碼取max,與函數(shù)同名,要避免
int i;
for(i=1;i10;i++)
if(maxva[i])
maxv=a[i];
return(maxv);
}
int main()
{
int i,a[10],maxvalue;
printf("請輸入10個數(shù):\n");
for(i=0;i10;i++)
scanf("%d",a[i]);
maxvalue = max(a);//原代碼max(a[10],i),a[10]只會傳遞一個數(shù)而不是數(shù)組
printf("最大的數(shù)是:%d\n",maxvalue);//您別漏了%d啊
}
#includestdio.h
int?max(int?n)
{int?i,x,f;
scanf("%d",f);
for(i=1;in;i++)
{scanf("%d",x);
if(xf)f=x;
}
return?f;
}
int?main()
{int?n;
printf("有幾個數(shù):");
scanf("%d",n);
printf("其中最大的數(shù)是:%d\n",max(n));
return?0;
}
#includestdio.h
int min;
int maxmin(int n)
{int i,x,f;
scanf("%d",f);
min=f;
for(i=1;in;i++)
{scanf("%d",x);
if(xf)f=x;
else if(xmin)min=x;
}
return f;
}
int main()
{int n,mm;
printf("有幾個數(shù):");
scanf("%d",n);
mm=maxmin(n);
printf("其中最大的數(shù)是:%d\n最小的數(shù)是:%d\n",mm,min);
return 0;
}
自定義函數(shù)實現(xiàn)
int max(int a,int b)
{
return ab?a:b;
}
#include"stdio.h"
voidInput_Max_Min(int*p,int*pl,int*ps){
inti;
printf("Pleaseenterthe10Numbers...\n");
for(*pl=*ps=i=0;i10;i++){//輸入10個整數(shù)并判斷大小
scanf("%d",p+i);
if(p[i]p[*ps])//
*ps=i;
if(p[i]p[*pl])//
*pl=i;
}
}
intmain(intargc,char*argv[]){
intm[10],ml,ms;
Input_Max_Min(m,ml,ms);//用數(shù)組首址和最大值及最小值位置記錄變量地址調用自定義函數(shù)
printf("TheMAXism[%d]==%d\nTheMINism[%d]==%d\n",ml,m[ml],ms,m[ms]);//輸出結果
return0;
}
擴展資料
c語言函數(shù)求兩個數(shù)的最大值
聲明一個求兩個數(shù)最大值的函數(shù)
if(ab){
printf("最大值是%d",a);
}else{
printf("最大值是%d",b);
}
#includestdio.h
max(inta,intb){
//三木運算來求出最大值
intz=ab?a:b;
printf("最大值是%d",z);
}
main(){
intx,y;
scanf("%d%d",x,y);
//調用max函數(shù)
max(x,y);
}
新聞名稱:c語言使用函數(shù)求最大值 c語言求最大數(shù)的函數(shù)
轉載來源:http://muchs.cn/article18/dosjhdp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站建設、手機網(wǎng)站建設、網(wǎng)站排名、網(wǎng)站策劃、域名注冊
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)