用指針求含有十個(gè)元素的數(shù)組最大值和最小值
目前創(chuàng)新互聯(lián)已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、陽(yáng)江網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
主函數(shù)參考
int main()
{
int a[10],i,maxnum,minnum;
for(i=0;i10;i++)
scanf("%d",a[i]);
FindMaxandMin(a,10,maxnum,minnum);
printf("%d %d",maxnum,minnum);
}
輸入格式:
數(shù)組
輸出格式:
最大值 最小值
輸入樣例:
1 2 3 5 4 6 7 8 9 10
輸出樣例:
10 1
擴(kuò)展資料
#include
int main()
{
int a[3];
int i,j,temp;
printf("請(qǐng)輸入3個(gè)數(shù):");
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語(yǔ)言
1)問(wèn)題出在minmax函數(shù),這個(gè)函數(shù)找到的最大值和最小值沒(méi)有返回。
2)雖然你定義了最大值和最小值為全局變量,但是在minmax函數(shù)的調(diào)用參數(shù)中你又定義了同名變量,這樣在minmax函數(shù)內(nèi)部實(shí)際使用的是局部變量。
3)最簡(jiǎn)單的方法,直接把minmax函數(shù)的后兩個(gè)輸入?yún)?shù)去掉。
#includestdio.h
int Max(int a[],int n)
{
int s,max=0;
for(s=1;s=9;s++)//逐個(gè)循環(huán)進(jìn)行比較大小找出最大值
{
if(a[max]a[s])
max=s;
}
return max;
}
int Min(int a[],int c)
{
int d,min=0;
for(d=1;d=9;d++)
{
if(a[min]a[d])
min=d;
}
return min;
}
main()
{
int a[10],i,n;
printf("請(qǐng)任意輸入10個(gè)數(shù)字\n");
for(i=0;i10;i++)
scanf("%d",a[i]);
int larger;
larger=Max(a,10);//調(diào)用Max函數(shù)找出最大值并賦值
printf("最大數(shù)為%d\n",a[larger]);
int smaller;
smaller=Min(a,10);
printf("最小數(shù)為%d\n",a[smaller]);
n=a[larger];
a[larger]=a[smaller];
a[smaller]=n;
for(i=0;i10;i++)
printf("%2d",a[i]);
}
#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("有幾個(gè)數(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("有幾個(gè)數(shù):");
scanf("%d",n);
mm=maxmin(n);
printf("其中最大的數(shù)是:%d\n最小的數(shù)是:%d\n",mm,min);
return 0;
}
#include?stdio.h
#define?N?10
//求最大值函數(shù)
int?max_func(int?a[],int?n)
{
int?i,max;
for(max=a[0],i=1;iN;i++)??//初始默認(rèn)最大值為a[0],遍歷數(shù)組元素
if(maxa[i])??//如果當(dāng)前最大值當(dāng)前數(shù)組元素,則將該元素賦值給max
max=a[i];
return?max;
}
//求最小值函數(shù)
int?min_func(int?a[],int?n)
{
int?i,min;
for(min=a[0],i=1;iN;i++)??//初始默認(rèn)最小值為a[0],遍歷數(shù)組元素
if(mina[i])??//如果當(dāng)前最小值當(dāng)前數(shù)組元素,則將該元素賦值給min
min=a[i];
return?min;
}
int?main()
{
int?arr[N],i;
int?max,min;
for(i=0;iN;i++)??//輸入10個(gè)數(shù)組元素
scanf("%d",arr[i]);
max=max_func(arr,N);??//調(diào)用max_func()函數(shù)
min=min_func(arr,N);??//調(diào)用min_func()函數(shù)
printf("最大值=%d\n最小值=%d\n",max,min);??//輸出結(jié)果
return?0;
}
1、首先定義一個(gè)Max最大值變量。
2、然后把首地址的值賦予最大值。
3、接下來(lái)哦我們呢就可以開(kāi)始便利查找。
4、如果有個(gè)數(shù)大于最大值便替換。
5、然后我們把最小值輸出。
6、運(yùn)行后, 我們可以看到屏幕上顯示最小值。