用C语言做第三题怎么做

 我来答
White_MouseYBZ
2016-05-18 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6279万
展开全部
#include "stdio.h"
void input(int (*p)[3],int n){
    int i;
    for(i=0;i<n;i++){
        printf("Student%d: ",i+1);
        scanf("%d%d",*(p+i),*(p+i)+1);
        *(*(p+i)+2)=**(p+i)+*(*(p+i)+1);
    }
}
void mysort(int (*p)[3],int n){
    int i,j,k;
    for(i=0;i<n;i++){
        for(k=i,j=k+1;j<n;j++)
            if((*(p+k))[2]<(*(p+j))[2])
                k=j;
        if(k-i){
            j=(*(p+k))[2],(*(p+k))[2]=(*(p+i))[2],(*(p+i))[2]=j;
            j=(*(p+k))[1],(*(p+k))[1]=(*(p+i))[1],(*(p+i))[1]=j;
            j=(*(p+k))[0],(*(p+k))[0]=(*(p+i))[0],(*(p+i))[0]=j;
        }
    }
}
void print(int (*p)[3],int n){
    int i;
    printf("C++\tC-A-B\tTotal\n");
    for(i=0;i<n;printf("%d\t%d\t%d\n",(*(p+i++))[0],(*(p+i))[1],(*(p+i))[2]));
}
int main(void){
    int a[50][3],n;
    printf("How many students(1~50)?\nn=");
    while(1){
        if(scanf("%d",&n) && n>0 && n<51)
            break;
        printf("Error, redo(int 0<n<51):\n");
    }
    printf("Input %d student(s)' score...\n",n);
    input(a,n);
    mysort(a,n);
    print(a,n);
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式