用C语言实现成绩统计程序的设计

来源:百度知道 编辑:UC知道 时间:2024/05/09 02:34:29
问题描述:给出N个学生的M门课程的考试成绩信息,每条信息由姓名,课程代号与分数组成,要求设计算法:
(1)输入每个人的各门课程的成绩,计算每人的平均成绩:
(2)按平均成绩的高低排序,打印出每个人的名次,平均成绩相同的为同一名次.
(3)按名次列出每个学生的姓名和各科成绩.
基本要求:学生的考试成绩必须通过键盘输入,且需对输出进行格式控制
算法提示:可以用选择排序,冒跑排序等多种排序算法求解.
大家帮帮忙啊!!!我课程设计的题目,做完合格了才能回家啊!希望大家有才的出才,有力的出力,解救一下还处于水深火热中的同胞吧!够意思的快想想办法,我们都早点回家过年啊!

以前做过一个差不多的程序(不过是用链表实现的) 跟你稍微改了下
用了3个文件.(改成一个也很简单的^_^)
希望你用的上吧^_^
文件list.h
#ifndef _LIST_H
#define _LIST_H

struct Student
{
char szName[20]; // 姓名
int nScore1; // 科目1
int nScore; // 科目2
int nNumber; //平均分
////
Student* pNext; // 指针
};

// 声明链表头指针
extern Student* g_pHead;

Student* CreateNode();
void AddToTail(Student* pNew);
void AddToHead(Student* pNew);
void InsertNode(Student* pNew);
void DeleteNode(int nNumber);
Student* FindNode(int nNumber);
void ShowList();
void FreeList();

void Save();
void Load();
void Init();

文件list.cpp
#include <stdio.h>
#include "List.h"

// 定义链表头指针
Student* g_pHead = NULL;

//------------------------------
Student* CreateNode()
{
printf("请输入姓名,科目1,科目2:");
Student* pNew = new Student;
scanf