【C语言】#文件操作#有5个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。

题目:

(1)有5个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。

设5名学生的学号、姓名和3门课成绩如下:

【C语言】#文件操作#有5个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。_第1张图片

在向文件stud写入数据后,应检查验证stud文件中的内容是否正确。

编写程序:

#include
#include
#define N 5
struct Student{		//定义结构体 
	char id[10];		//学号 
	char name[10];		//姓名 
	float score[3];		//3科成绩 
	float ave;			//平均分 
}stu[N];				//定义结构体数组 
/*-----学生信息输入函数------*/
void input(void){
	int i,j; 
	for(i=0;i

 程序运行结果:程序运行生成了一个名为stud(        )的文件,并将输入的

 信息写入了这个文件。

【C语言】#文件操作#有5个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。_第2张图片
(2)将上题stud文件中的学生数据按平均分进行排序处理,将已排序的学生数据存入一个新文件stu_sort中。在向文件stu_sort写入数据后,应检查验证stu_sort文件中的内容是否正确。

 编写程序

#include
#include
#define N 5
struct Student{		//定义结构体 
	char id[10];		//学号 
	char name[10];		//姓名 
	float score[3];		//3科成绩 
	float ave;			//平均分 
}stu[N],temp;			//定义结构体数组,和一个结构体变量 
/*---对上次文件中的数据排序函数--*/
void stu_sort(){
	FILE *fp;					//定义文件指针 
	int i,j,count=0,max;		 
	fp=fopen("stud","r");		//以度的方式打开刚才的文件 
	puts("原来的:");
	puts("----------------------------------------------");
	puts("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均分");		//表头样式 
	puts("----------------------------------------------");
	for(i=0;i

程序运行结果:程序运行生成了一个名为stu_sort(           )的文件,并将输入的信息写入了这个文件。

【C语言】#文件操作#有5个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。_第3张图片

  (3)将上题已排序的学生成绩文件进行插入处理。插入一个学生的3门课成绩。程序先计算新插入学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文件。 在向新文件stu_new写入数据后,应检查验证stu_new文件中的内容是否正确

要插入的学生数据为:

 编写程序:

#include
#include
#define N 6			//原来的5人再加1人 
struct Student{		//定义结构体 
	char id[10];		//学号 
	char name[10];		//姓名 
	float score[3];		//3科成绩 
	float ave;			//平均分 
}stu[N],temp;			//定义结构体数组,和一个结构体变量 
/*----插入排序队列函数----*/
void stu_sort_new(struct Student stu0){
	FILE *fp;					//定义文件指针 
	int i,count; 
	fp=fopen("stu_sort","r");	//读入刚才内容排好序的文件 
	puts("原来的:");
	puts("----------------------------------------------");
	puts("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均分");		//表头样式 
	puts("----------------------------------------------");
	for(i=0;istu[i].ave){
			count=i; 		//记录插入位置 
			break;
		}
	for(i=N-1;i>=count;i--)
		stu[i]=stu[i-1];		//将插入位置及其后的数据向后挪 
	stu[count]=stu0;
	fp=fopen("stu_new","w");		//再次打开需要将信息排序的的文件 
	for(i=0;i

程序运行结果:程序运行生成了一个名为stu_new(  )的文件,并将输入的信息写入了这个文件。

【C语言】#文件操作#有5个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。_第4张图片

你可能感兴趣的:(C语言,c语言,算法)