只有十分 求各位帮忙看看吧 万分感谢
查看原帖
只有十分 求各位帮忙看看吧 万分感谢
1620048
FC995楼主2024/12/26 15:56
#include <stdio.h>

#define MAXN 100

void swap(int a[], int i, int j){
    int temp = a[i];
    a[i] = a[j];
    a[j] = temp;
}//交换顺序

void bubbleSort(int a[MAXN], int N){   
    for(int i=0; i<N-1; i++){
        for(int j=0; j<N-i-1; j++){
            if(a[j] > a[j+1]){
                swap(a, j, j+1);
            }
        }
    }
}//冒泡排序 给第二行的数字进行一个从小到大的排序
int main(){
    int N;
    scanf("%d\n", &N);
    int a[MAXN];
    for(int i=0; i<N; i++){
        scanf("%d\n", &a[i]);
    }
    int x;
    scanf("%d\n", &x);//读入各种信息

    if(N>=1&&N<=MAXN){
        bubbleSort(a, N);
        for(int i=0;i<N;i++){
            int sum = 0;
            sum = sum + a[i];
            if(sum <= x&& sum+a[i+1]> x){
                printf("%d ", i+1);
            }
        }
    }//从小到大相加 知道加到某一个i时 sum小于或等于x且i+1时就大于x了 这个i就是所求的数字
    return 0;
}
2024/12/26 15:56
加载中...