首页 > 试题广场 >

找最大值

[问答题]

找最大值

内容:


【问题描述】
把n个数从大到小排序,找出前3个数。
【输入格式】
两个
第一行:n,表示数的个数
第二行:n个数(长整型)
【输出格式】
三个数
【输入样例】
10
1 3 5 7 9 2 4 6 8 10
【输出样例】

10 9 8
#include <cstdio>
int main()
{int n;scanf("%d",&n);
int a[n],m,d,l=2147483647;
for(int i=0;i<n;i++){scanf("%d",&a[i]);if(l>a[i])l=a[i];}
for(int j=0;j<3;j++){m=l;for(int i=0;i<n;i++)if(a[i]>m)m=a[i],d=i;printf("%d ",m);a[d]=l-1;}
}


#include "stdio.h"

void change(int array[],int n){
    int temp;
    for(int i=0;i<n;i++){
        for(int j=0;j<n-i-1;j++){
            if(array[j]<array[j+1]){
                temp=array[j+1];
                array[j+1]=array[j];
                array[j]=temp;
            }
        }
    }
}
int main()
{
    int n;
    printf("请输入整数个数:");
    scanf("%d",&n);
    int array[n];
    printf("请输入%d个数:",n);
    for(int i=0;i<n;i++)scanf("%d",&array[i]);
    change(array,n);
    for(int i=0;i<3;i++){
        printf("%d ",array[i]);
    }
    return 0;
 } 

发表于 2021-03-21 09:38:17 回复(0)