提高第37课时,实践1,项目1-带姓名的成绩单

来源:互联网 发布:怎么在淘宝上买电影票 编辑:程序博客网 时间:2024/05/22 03:16
/**Copyright(c) 2015/5/28 CSDN博客*All rights reserved.*文件名称:main.c*作    者:金叶*完成日期:2015/5/28*版本号:V1.0*问题描述:项目1-带姓名的成绩单*程序输出:设score数组中存储8名同学的C语言成绩,字符串数组name中存储同学们的姓名。这两个数组中,每名同学的姓名与成绩的下标要始终保持一致(例如name[i]和score[i]表示同一位同学(下标为i)的姓名和C语言成绩,否则会张冠李戴)。(1)输出按成绩排序后的同学的名单;(2)输出按同学姓名排序后的成绩单(排序对象是字符串)。*/#include<stdio.h>#include<string.h>#define num 8int main(){    int i,j,t;    char a[10];    char name[num][10]= {"zhao","qian","sun","li","zhou","wu","zheng","wang"};    double score[num]= {79,84,65,89,60,92,78,56};    for (i=0;i<num-1;i++){        for (j=0;j<num-i-1;j++){            if (score[j]<score[j+1]){                t=score[j];                score[j]=score[j+1];                score[j+1]=t;                strcpy(a,name[j]);                strcpy(name[j],name[j+1]);                strcpy(name[j+1],a);            }        }    }    printf("按成绩排序后的结果是:\n");    for (i=0;i<num;i++){        printf("%s\t%.2lf\n",name[i],score[i]);    }    for(i=0; i<num-1; i++)        for(j=0; j<num-i-1; j++)        {            if(strcmp(name[j],name[j+1])>0)            {                strcpy(a, name[j]);                strcpy(name[j], name[j+1]);                strcpy(name[j+1], a);                t=score[j];                score[j]=score[j+1];                score[j+1]=t;            }        }    printf("按同学姓名排序后有结果是:\n");    for(i=0; i<num; i++)        printf("%s\t%.1f\n", name[i], score[i]);    return 0;}



0 0
原创粉丝点击