为了账号安全,请及时绑定邮箱和手机立即绑定

求大神修改

求大神修改

C
慕移动9341187 2015-12-11 11:12:02
#include<stdio.h>#define N 40int ReadScore(int score[],long num[]);void DataSort(int score[],long num[],int n);void printfscore(int score[],long num[],int n);int main(){    int n,score[N];    long num;    ReadScore(score,num);    printf("Total students'ID and students are %d\n",num,n);    DataSort(score,num,n);    printf("Sorted score:");    printfscore(score,num,n);    return 0;}int ReadScore(int score[],long num[]){    int i=-1;    do    {        i++;        printf("Input students'ID and score:");        scanf("%ld%d",&num[i],&score[i]);    }while(score[i]>=0&&num[i]>0);    return i;}void DataSort(int score[],long num[],int n){   int i,j,k;   int temp1;   long temp2;   for(i=0;i<n-1;i++)   {       k=i;       for(j=i+1;j<n;j++)       {           k=j;       }       if(k!=1)       {           temp1=score[k];score[i]=score[k];score[i]=temp1;           temp2=num[k];num[k]=num[j];num[j]=temp2;       }   }}void printfscore(int score[],long num[],int n){    int i;    for(i=1;i<n;i++)    {        printf("%ld%d\n",num[i],score[i]);    }    printf("\n");}
查看完整描述

2 回答

已采纳
?
流浪_老

TA贡献71条经验 获得超14个赞

#include<stdio.h>

#define N 40

int ReadScore(int score[],long num[]);

void DataSort(int score[],long num[],int n);

void printfscore(int score[],long num[],int n);

int main()

{

    int n,score[N];

    long num[N];

    ReadScore(score,num);

    printf("Total students'ID and students are %d\n",num,n);

    DataSort(score,num,n);

    printf("Sorted score:");

    printfscore(score,num,n);

    return 0;

}

int ReadScore(int score[],long num[])

{

    int i=-1;

    do

    {

        i++;

        printf("Input students'ID and score:");

        scanf("%ld%d",&num[i],&score[i]);


    }while(score[i]>=0&&num[i]>0);

    return i;

}

void DataSort(int score[],long num[],int n)

{

   int i,j,k;

   int temp1;

   long temp2;

   for(i=0;i<n-1;i++)

   {

       k=i;

       for(j=i+1;j<n;j++)

       {

           k=j;

       }

       if(k!=1)

       {

           temp1=score[k];score[i]=score[k];score[i]=temp1;

           temp2=num[k];num[k]=num[j];num[j]=temp2;

       }


   }



}


void printfscore(int score[],long num[],int n)

{

    int i;

    for(i=1;i<n;i++)

    {

        printf("%ld%d\n",num[i],score[i]);

    }

    printf("\n");

}


查看完整回答
反对 回复 2015-12-11
?
Jason333

TA贡献31条经验 获得超0个赞

long num;  改成 long num[N]; 

查看完整回答
反对 回复 2015-12-11
  • 2 回答
  • 0 关注
  • 1950 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信