1 / 11
文档名称:

西南交大c实验报告.doc

格式:doc   大小:112KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

西南交大c实验报告.doc

上传人:2286107238 2020/12/9 文件大小:112 KB

下载得到文件列表

西南交大c实验报告.doc

相关文档

文档介绍

文档介绍:实验__8__实验报告
教学班级:_26_ 学生学号:_201_ 学生:_ _
实验日期: 实验地点:_________(机房)
指导教师签名:__________ 实验成绩:___________
一、实验目的
1.掌握对数值型一维数组的使用方法;
2.掌握对数组的插入、删除、修改、排序和查找等常用算法。
二、实验任务
1. 设有一批学生的程序设计课程的考试成绩(学生人数最多为N=100人,数据如下:
学号
程序设计成绩
2015112842
余学成
83
2015112324
思德
72



(提示:可以建立三个一维数组来存放学生的数据,其中:学号为一个long类型的数组studentID,为一个string类型的数组name,成绩为一个int类型的数组grade)
(1)由键盘获取学生人数n,要求学生人数n的取值围11到N-2;
(2)由键盘获取学生的相关数据;
(3)用选择排序法将学生的数据按学号进行升序排列并输出排序后的学生数据;
2. 在任务1的基础上,在学生数据中,完成以下任务:
(1)键盘输入一个学生的学号,用折半查找法查找是否有该学生,若有该学生则输出该学生的所有信息,按如下格式输出:
学号
程序设计成绩
2015112324
思德
72
若没有该学生,则输出“查无此人”的信息。
(2)插入一个新学生的数据,要求插入后学生的数据任按学号升序排列。
⒊ 在任务1的基础上,在学生数据中,完成以下任务:
⑴ 用选择排序法将学生数据按学生程序设计课程成绩降序排列。
⑵ 键盘输入一个学生的学号和程序设计课程的新成绩,在学生数据中查找是否有该学生,若有该学生则用键盘输入的新成绩替换该学生的原成绩,否则输出“查无此人”的信息。
三、实验结果(源程序 + 注释)
//输入并升序排列学生的成绩
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
void main()
{
cout << "Name:" << endl;
cout << "Number:20" << endl;
long studentID[100], trans1;//定义两个长整型变量,其中一个是数组
string name[100], trans2;//定义两个字符串类变量,其中一个是数组
int grade[100], n, i, j, trans3;
cout << "请输入学生人数n (11≤n≤98)" << endl;
cin >> n;//从键盘输入学生的人数
for (i = 0; i <= n - 1; i++)//利用循环结构录入各学生的信息
{
cout << "请依次输入第" << i + 1 << "个学生的学号、、成绩" << endl;
cin >> studentID[i] >> name[i] >> grade[i];
}
for (i = 0; i <= n - 1; i++)//利用嵌套循环和条件语句将信息按学号进行升序排列
{
for (j = i + 1; j <= n - 1; j++)
{
if (studentID[i] > studentID[j])
{
trans1 = studentID[i]; studentID[i] = studentID[j]; studentID[j] = trans1;
trans2 = name[i]; name[i] = name[j]; name[j] = trans2;
trans3 = grade[i]; grade[i] = grade[j]; grade[j] = trans3;
}
}
}
cout << "按学号升序排序后学生的成绩信息为:" << endl;
cout << setw(10) << "学号" << setw(10) << "" << setw(10) << "成绩" << endl;//限定输出结果格式
for (i = 0; i <= n - 1; i++)//按特定格式输出排列后的学生信息
{
cout << setw(10) << studentID[i] << setw(10) << name[i] << setw(10) << grade[i] << endl;
}
/*键盘输入一个学生的学号,