数据结构题目,求大神们解答:replace和search这两个函数要怎么写 跪求!!!!
假设一个学生的记录Student包括学生的姓名和3门成绩。编写一个名为student.c的程序完成下列任务:l在函数声明之前,定义Student结构体,其成员包括学号、姓...
假设一个学生的记录Student包括学生的姓名和3门成绩。
编写一个名为student.c的程序完成下列任务:
l 在函数声明之前,定义Student结构体,其成员包括学号、姓名和三门课的成绩
l 编写一个函数create,使用malloc动态开辟一个能储存长度为n的Student数组的内存空间(n为用户输入的学生个数),并用下列方法为学生赋值:
n 用以1401040为开头的十位整数为学号赋值
n 用student0,student1,student2,...为学生的姓名赋值
n 用随机数为学生的成绩赋值
l 编写一个函数 display显示全部学生信息(包括这个学生3门课的平均成绩)
l 编写一个函数replace,将学生数组中的某个指定位置的学生信息替换成你个人的信息(在函数中直接赋值,不要让用户输入你的信息)
l 编写一个函数search,查找并返回某个给定学号的同学在学生数组中的位置(用下标表示),如果该学号不存在则返回-1
l 编写一个主函数
n 提示用户输入一个小于10的学生个数n
n 调用create创建一个Student数组
n 调用display显示学生信息
n 提示用户输入一个介于0和n之间的整数m,调用replace将学生数组中下标为m的学生的信息替换成你的个人信息
n 调用display显示学生信息
n 调用search函数,根据你个人的学号,查找你的信息在学生数组中的位置
n 显示查找到的学生信息
一个运行结果的示例如下:
please enter the number of students: 5
All Students:
id name mark1 mark2 mark3 average
---------------------------------------------------
1401040041 student0 55.0 60.0 81.0 65.3
1401040169 student1 66.0 53.0 83.0 67.3
1401040162 student2 85.0 94.0 94.0 91.0
1401040081 student3 98.0 66.0 82.0 82.0
1401040195 student4 58.0 83.0 80.0 73.7
please ernter the number to be replaced: 0
All Students:
id name mark1 mark2 mark3 average
---------------------------------------------------
1401040999 abc 100.0 100.0 100.0 100.0
1401040169 student1 66.0 53.0 83.0 67.3
1401040162 student2 85.0 94.0 94.0 91.0
1401040081 student3 98.0 66.0 82.0 82.0
1401040195 student4 58.0 83.0 80.0 73.7
Student info
id name mark1 mark2 mark3 average
---------------------------------------------------
1401040999 abc 100.0 100.0 100.0 100.0 展开
编写一个名为student.c的程序完成下列任务:
l 在函数声明之前,定义Student结构体,其成员包括学号、姓名和三门课的成绩
l 编写一个函数create,使用malloc动态开辟一个能储存长度为n的Student数组的内存空间(n为用户输入的学生个数),并用下列方法为学生赋值:
n 用以1401040为开头的十位整数为学号赋值
n 用student0,student1,student2,...为学生的姓名赋值
n 用随机数为学生的成绩赋值
l 编写一个函数 display显示全部学生信息(包括这个学生3门课的平均成绩)
l 编写一个函数replace,将学生数组中的某个指定位置的学生信息替换成你个人的信息(在函数中直接赋值,不要让用户输入你的信息)
l 编写一个函数search,查找并返回某个给定学号的同学在学生数组中的位置(用下标表示),如果该学号不存在则返回-1
l 编写一个主函数
n 提示用户输入一个小于10的学生个数n
n 调用create创建一个Student数组
n 调用display显示学生信息
n 提示用户输入一个介于0和n之间的整数m,调用replace将学生数组中下标为m的学生的信息替换成你的个人信息
n 调用display显示学生信息
n 调用search函数,根据你个人的学号,查找你的信息在学生数组中的位置
n 显示查找到的学生信息
一个运行结果的示例如下:
please enter the number of students: 5
All Students:
id name mark1 mark2 mark3 average
---------------------------------------------------
1401040041 student0 55.0 60.0 81.0 65.3
1401040169 student1 66.0 53.0 83.0 67.3
1401040162 student2 85.0 94.0 94.0 91.0
1401040081 student3 98.0 66.0 82.0 82.0
1401040195 student4 58.0 83.0 80.0 73.7
please ernter the number to be replaced: 0
All Students:
id name mark1 mark2 mark3 average
---------------------------------------------------
1401040999 abc 100.0 100.0 100.0 100.0
1401040169 student1 66.0 53.0 83.0 67.3
1401040162 student2 85.0 94.0 94.0 91.0
1401040081 student3 98.0 66.0 82.0 82.0
1401040195 student4 58.0 83.0 80.0 73.7
Student info
id name mark1 mark2 mark3 average
---------------------------------------------------
1401040999 abc 100.0 100.0 100.0 100.0 展开
1个回答
展开全部
void replace(int index)//index是输入需要指定的位置
{
stu[index].id=我的id;
stu[index].name=我的名字;
stu[index].mark1=第一门成绩;
stu[index].mark2=第二门成绩;
stu[index].mark3=第三门成绩;
}
int search(int stuid)//输入学生的id号
{
int num=0;
int length=0;
length=sizeof(stu)/sizeof(stu[0]);
for(int i=0;i<length;i++)
{
if(stu[i].id==stuid)
{
num=i;
break;
}
return num;
}
{
stu[index].id=我的id;
stu[index].name=我的名字;
stu[index].mark1=第一门成绩;
stu[index].mark2=第二门成绩;
stu[index].mark3=第三门成绩;
}
int search(int stuid)//输入学生的id号
{
int num=0;
int length=0;
length=sizeof(stu)/sizeof(stu[0]);
for(int i=0;i<length;i++)
{
if(stu[i].id==stuid)
{
num=i;
break;
}
return num;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询