zoukankan      html  css  js  c++  java
  • 第十四周项目2-带姓名的成绩单

    设score[8]数组中存储8名同学的C++成绩,增加一个数组string name[8]并赋初值,表示同学们的姓名。这两个数组中,每名同学的姓名与成绩的下标要始终保持一致。

    (1)输出按成绩排序后的同学的名单。

    (2)输出按同学姓名排序后的成绩单(排序对象是字符串)。

    /*
     *Copyright (c) 2014,烟台大学计算机学院
     *All gight reserved.
     *文件名称:temp.cpp
     *作者:邵帅
     *完成时间:2014年11月27日
     *版本号:v1.0
    */
    #include<iostream>
    #include<string>
    using namespace std;
    const int num = 8;
    int main()
    {
        int i, j, t;
        string temp;
        string name[num] =
        { "zhao", "qian", "sun", "li", "zhou", "wu", "zheng", "wang" };
        double score[num] = { 79, 84, 65, 89, 60, 92, 78, 56 };
        // (1)按成绩排序并输出结果
        for (j = 1; j <= num-1; j++)
            for (i = 0; i < num - j; i++)
                if (score[i] < score[i + 1])
                {
                    t = score[i];
                    temp = name[i];
                    score[i] = score[i + 1];
                    name[i] = name[i + 1];
                    score[i + 1] = t;
                    name[i + 1] = temp;
                }
        cout << "按成绩排序后输出的结果为:" << endl;
        for (i = 0; i < num; i++)
            cout << name[i] << ":" << score[i] << endl;
    
        // (2)按姓名排序并输出结果
        for (j = 1; j <= num-1; j++)
            for (i = 0; i < num - j; i++)
                if (name[i] > name[i + 1])
                {
                    t = score[i];
                    temp = name[i];
                    score[i] = score[i + 1];
                    name[i] = name[i + 1];
                    score[i + 1] = t;
                    name[i + 1] = temp;
                }
        cout << "按姓名排序后输出的结果为:" << endl;
        for (i = 0; i < num; i++)
            cout << name[i] << ":" << score[i] << endl;
        return 0;
    }

    运行结果:



    (3)数据由score.txt提供。

    /*
     *Copyright (c) 2014,烟台大学计算机学院
     *All gight reserved.
     *文件名称:temp.cpp
     *作者:邵帅
     *完成时间:2014年11月27日
     *版本号:v1.0
    */
    #include<iostream>
    #include<string>
    #include<fstream>
    #include<cstdlib>
    using namespace std;
    const int num = 8;
    int main()
    {
    	int i=0, j, t;
    	string temp;
    	string name[num] =
    		{ "zhao", "qian", "sun", "li", "zhou", "wu", "zheng", "wang" };
    	double score[num];
    	// 打开文件
    	ifstream infile("score.txt",ios::in);
    	if (!infile)
    	{
    		cerr<<"没有找到文件!"<<endl;
    		exit (1);
    	}
    	while (i<num)
    	  {
    	  	infile>>score[i];
    	  	i++;
    	  }
        infile.close();
    	// (1)按成绩排序并输出结果
    	for (j = 1; j <= num-1; j++)
    		for (i = 0; i < num - j; i++)
    			if (score[i] < score[i + 1])
    			{
    				t = score[i];
    	   		 temp = name[i];
    				score[i] = score[i + 1];
    				name[i] = name[i + 1];
    				score[i + 1] = t;
    				name[i + 1] = temp;
    			}
    	cout << "按成绩排序后输出的结果为:" << endl;
    	for (i = 0; i < num; i++)
    		cout << name[i] << ":" << score[i] << endl;
    
    	// (2)按姓名排序并输出结果
    		for (j = 1; j <= num-1; j++)
    		for (i = 0; i < num - j; i++)
    			if (name[i] > name[i + 1])
    			{
    				t = score[i];
    	   		 temp = name[i];
    				score[i] = score[i + 1];
    				name[i] = name[i + 1];
    				score[i + 1] = t;
    				name[i + 1] = temp;
    			}
    	cout << "按姓名排序后输出的结果为:" << endl;
    	for (i = 0; i < num; i++)
    		cout << name[i] << ":" << score[i] << endl;
    	return 0;
    }

    运行结果:






    @ Mayuko

  • 相关阅读:
    C# BackgroundWorker使用总结
    C#如何优雅的结束一个线程
    C#线程中安全访问控件(重用委托,避免繁复的delegate,Invoke)总结
    C#异步方法调用(四大方法详解)
    C# Winform 跨线程更新UI控件常用方法汇总
    走进异步编程的世界
    走进异步编程的世界
    走进异步编程的世界
    Unity-Redis数据存储
    untiy
  • 原文地址:https://www.cnblogs.com/mayuko/p/4567606.html
Copyright © 2011-2022 走看看