青春修炼手册百度云:输入5个数,输出最大数和最小数,有简单点的方法吗?多写几个看看,谢谢

来源:百度文库 编辑:高校问答 时间:2024/05/08 06:04:06
同上
能做一下给我看看吗

main()
{int i,max,min,a[5];
scanf("%d,%d,%d,%d,%d",&a[0],&a[1],&a[2],&a[3],&a[4]);
max=a[0];
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,min=%d\n",max,min);
}


最典型的就是用冒泡法。以下是VBS的简单例子。
<SCRIPT Language="VBScript">
Sub Test(sNum)
Dim i,intCount
Dim sItem
Dim iMax
Dim iMin

sItem = Split(sNum,",")
intCount = UBound(sItem)
iMax = sItem(0)
iMin = sItem(0)
For i = 1 To intCount
If Clng(sItem(i)) < CLng(iMin) Then
iMin = sItem(i)
End If

If Clng(sItem(i)) > CLng(iMax) Then
iMax = sItem(i)
End If
Next

Msgbox "最大:" & iMax & " , 最小:" & iMin

End Sub

Call Test("1,3,5,4,6")
</SCRIPT>

只写了个三个的,如果5个这种方法就显得很冗长了(3个看起也有冗长)
#include<stdio.h>
main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("max=%d\tmin=%d",a>b?(a>c?a:c):(b>c?b:c),a<b?(b<c?a:(a<c?a:c)):(a<c?b:(b<c?b:c)));
}

排序方法很多,比较简单的有冒泡排序法,快速排序法等你可以搜下相应的算法,不知道你说的是什么语言的实现方法!

#include<iostream.h>
double max=0.0,min=0.0;
void compare(double x);
void main()
{
double number[5];
for(int i=0;i<5;i++)
cin>>number[i];
max=min=number[0]; //初始化最大数和最小数都等于numbre[0]

for(i=1;i<5;i++) //可以直接从第二个数比较
compare(number[i]);
cout<<"你输入的最大的数是:\t"<<max<<endl;
cout<<"你输入的最小的数是:\t"<<min<<endl;
}
void compare(double x)
{
if(x>max)
max=x;
if(x<min)
min=x;
}

c++程序:
#include<iostream>
using namespace std;
double max,min;
int main()
{
double a,b,c,d,e;
cin>>a>>b>>c>>d>>e>>endl;
max=a,min=b;
double fun(double x);
fun(a);
fun(b);
fun(c);
fun(d);
fun(e);
cout<<"max="<<max<<endl;
cout<<"min="<<min<<endl;
return 0;
}
double fun(double x)
{
if(x>max)max=x;
if(x<min)min=x;
}