这是一道c语言的程序编译题

img


#include<stdio.h>
int main(){
    int a[15]={20,0,10,55,90,0,60,40,35,85,100,200,30,0,5};
    int num=0,sum = 0,temp;
    
    for(int i = 0;i<15;i++){
        for(int j = i+1;j<15;j++){
            if(a[i]<a[j]){
                temp = a[i];
                a[i]=a[j];
                a[j] = temp;
            }
        }
    }
    
    for(int i = 0;i<15;i++){
        if(a[i]!=0){
            sum+=a[i];
            num++;
        }
    }
    printf("捐款人数:%d 捐款人平均捐款:%d \n",num,sum/num); 
    for(int i = 0;i<15;i++){
        printf("%d ",a[i]);
    }
    
    return 0;
} 

供参考:

#include <stdio.h>
int main()
{
    int a[] = { 20,0,10,55,90,0,60,40,35,85,100,200,30,0,5 }, n, i, j, t;
    float sum = 0;
    n = sizeof(a) / sizeof(a[0]);        
    for(i=0;i<n-1;i++){
        for (j = 0; j < n - i - 1; j++)
            if (a[j] < a[j + 1])
            {
                t = a[j]; a[j] = a[j + 1]; a[j + 1] = t;
            }
    }
    for (i = 0; i < n; i++) {
        sum += a[i];
        printf("%d ", a[i]);
    }
    printf("\n捐款人数:%d ,平均捐款额:%f\n", n, sum / n);
    return 0;
}