第14周项目2-带姓名的成绩单(2)

来源:互联网 发布:c语言中的&是什么意思 编辑:程序博客网 时间:2024/05/21 20:23
/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:Annpion.cpp*作者:王耀鹏*完成日期:2014年11月30日*版本号:v1.0**问题描述:带姓名的成绩单*输入描述:文件输入。*程序输出:输出按成绩排序后的同学的名单,俺同学姓名排序后的成绩单。*/#include<iostream>#include<fstream>#include<cstdlib>#include<string>using namespace std;const int num=100;int main(){    int i,j,t,k=0;    string temp;    string name[num];    double score[num];    ifstream infile("score.txt",ios::in);    if(!infile)    {        cerr<<"open  error!"<<endl;        exit(1);    }    while(infile>>name[k]>>score[k])        k++;    infile.close();    cout<<"按成绩排序并输出结果:"<<endl;    for(i=0; i<k-1; i++)  //(1)按成绩排序并输出结果        for(j=0; j<k-i-1; j++)            if(score[j]>score[j+1])            {                t=score[j];                score[j]=score[j+1];                score[j+1]=t;                temp=name[j];                name[j]=name[j+1];                name[j+1]=temp;            }    for(i=0; i<k; i++)        cout<<name[i]<<":"<<score[i]<<endl;        cout<<"按姓名排序并输出结果:"<<endl;    for(i=0; i<k-1; i++)  //(2)按姓名排序并输出结果        for(j=0; j<k-i-1; j++)            if(name[j]>name[j+1])            {                temp=name[j];                name[j]=name[j+1];                name[j+1]=temp;                t=score[j];                score[j]=score[j+1];                score[j+1]=t;            }    for(i=0; i<k; i++)        cout<<name[i]<<":"<<score[i]<<endl;    return 0;}

运行结果:



0 0
原创粉丝点击