int[] n = {1,2,3,4,5,6,7,8,9,10};int max = n[0];int min = n[0];for(int i = 1;i < 10;i++){ if(min > n[i]){ min = n[i]; } if(max < n[i]){ max = n[i]; }}Systemoutprintln("max=" + max);Systemoutprintln("min=" + min);
用冒泡排序, 把数组排序成从大到小, 然后分别取出第一项 和最后一项 就分别是最大和最小值了
public class BubbleSort {
public void sort(int[] a) {
int temp = 0;
for (int i = alength - 1; i > 0; --i) {
for (int j = 0; j < i; ++j) {
if (a[j + 1] < a[j]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
}
//求一个数组A[ij]的最大值和最小值,分支算法,递归实现
//201529
//dev c++
#include<stdioh>
#include<malloch>
int min(int a,int b){
return a<b a:b;
}
int max(int a,int b){
return a>b a:b;
}
int MaxMin(int a[],int i,int j)
{
int m=(int )malloc(2sizeof(int));
if(j-i+1==1){
m[0]=m[1]=a[i];
return m;
}
if(j-i+1==2){
if(a[i]<a[j]){
m[0]=a[i];
m[1]=a[j];
}
else{
m[0]=a[j];
m[1]=a[i];
}
return m;
}
int k=(j-i+1)/2;
int m1 = MaxMin(a,i,k);
int m2 = MaxMin(a,k+1,j);
m[0]=min(m1[0],m2[0]);
m[1]=max(m1[1],m2[1]);
return m;
}
int main()
{
int a[128];
int n;
int i;
while(scanf("%d",&n)!=EOF){
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
int m = MaxMin(a,0,n-1);
printf("%d %d\n",m[0],m[1]);
}
return 0;
}
#include<stdioh>
int main()
{void sort(int b[],int n );
int i,n,b[200];
scanf("%d",&n);
printf("enter array:\n");
for(i=0;i<n;i++)
scanf("%d",&b[i]);
sort(b,n);
for(i=0;i<n;i++)
printf("%d ",b[i]);
printf("\n");
return 0;
}
void sort(int b[],int n )
{int i,j,t;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(b[j]<b[j+1])
{t=b[j];b[j]=b[j+1];b[j+1]=t;}
}
#include <stdioh>
void minmax(int array[], int begin, int end, int &min, int &max, int &count)
{
int mid = (begin + end)/2;
if (begin == end)
{
count++;
if (array[mid] < min) {
min = array[mid];
} else {
if (array[mid] > max)
max = array[mid];
count++;
}
return;
}
minmax(array, begin, mid, min ,max, count);
minmax(array, mid + 1, end, min ,max, count);
}
void main()
{
int array[10] = {9,8,7,6,5,4,3,2,1,0};
int min = array[0], max = -1, count = 0;
minmax(array, 0,9,min,max,count);
printf("min = %d, max = %d, count = %d\n", min,max,count);
}
package A00002;
import javautilScanner;
/
10个数字的最大值和最小值
/
public class Test {
public static void main(String[] args) {
Scanner input =new Scanner(Systemin);
Systemoutprintln("请输入10个数字:");
int Arr[]=new int[10];
int min=0;
int max=0;
for(int i=0;i<Arrlength;i++){
Arr[i]=inputnextInt();
}
max=Arr[0];
min=Arr[0];
for(int j=0;j<Arrlength;j++){
if(Arr[j]>max){
max=Arr[j];
if(Arr[j]<min){
min=Arr[j];
}
}
Systemoutprintln("你输入的是:"+"\t");
Systemoutprintln(Arr[j]);
}
Systemoutprintln("最 大 值:"+max);
Systemoutprintln("最 小 值:"+min);
}
}
我直接写的,可能有小问题自己改一下
//用户输入略
int[] num = new int[15];//用户所输入的15个数
int min = IntegermaxValue;//保存最小值,初始化为最大的Int值
int max = -1;//保存最大值
int sum = 0;//保存总和
for(int i = 0;i<numlength;i++){
if(min>num[i]){
min = num[i];
}
if(max<num[i]){
max = num[i];
}
sum = sum + num[i];
}
Systemoutprintln("最小值:"+min+",最大值:"+max+",平均值:"+sum/numlength);
int get_len_max_min(int pnums, int pmax, int pmin) {
int pcur = pnums;
pmax=pmin=pcur;
pcur++;
while(pcur!=END_MARK ) {
if (pcur>pmax) pmax=pcur;
if (pcur<pmin) pmin=pcur;
pcur++;
}
return pcur-pnums;
}
以上就是关于求最大值与最小值的算法全部的内容,包括:求最大值与最小值的算法、请设计一个算法:输入实数a1,a2,...aN,输出a1,a2,..aN中最大的数和最小的数,并画出程序图。、分治算法的一个小问题,求一个数组的最大最小值,算法如图,怎么实现求指教等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)