程序三
来源:互联网 发布:快镜头慢镜头回放软件 编辑:程序博客网 时间:2024/06/11 18:58
#include<stdio.h>
#include<stdlib.h>
#define M 5
#define N 3
struct student
{
long num;
char name[20];
int score[N];
int avg;
}stud[M];
void input(struct student *p)
{
int i,j;
printf("Input the information:/n/n");
for(i=0;i<M;i++,p++)
{
printf("num:");
scanf("%ld",&p->num);
getchar();
printf("name:");
scanf("%s",p->name);
printf("Input score:/n");
for(j=0;j<N;j++)
scanf("%d",&p->score[j]);
p->avg=(p->score[0]+p->score[1]+p->score[2])/3;
}
}
void sort(struct student *p)
{
int i,j;
struct student temp;
for(i=0;i<M-1;i++)
for(j=i+1;j<M;j++)
if((p+i)->avg>(p+j)->avg)
{
temp=stud[i];stud[i]=stud[j];stud[j]=temp;
}
}
void save(char *filename)
{
FILE *fp;
int i;
if((fp=fopen(filename,"wb"))==NULL)
{
printf("Can not open this file./n");
exit (1);
}
for(i=0;i<M;i++)
if(fwrite(&stud[i],sizeof(struct student),1,fp)!=1)
printf("Can not write this file./n");
fclose(fp);
}
void output(char *filename)
{
FILE *fp;
int i;
if((fp=fopen(filename,"rb"))==NULL)
{
printf("Can not open this file./n");
exit (1);
}
for(i=0;i<M;i++)
if(fread(&stud[i],sizeof(struct student),1,fp)!=1)
printf("Can not write this file./n");
else printf("Num:%ld Name:%s score:%d %d %d Avg:%d/n",stud[i].num,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].avg);
fclose(fp);
}
void main()
{
char fn[30];
clrscr();
input(stud);
sort(stud);
printf("Input a filename:");
scanf("%s",fn);
save(fn);
output(fn);
}
- 程序三
- 程序三
- arx程序说明(三)
- 三 JavaScript程序构成
- VSTO程序基本知识(三)
- theano程序(三)
- Win32程序(三)
- 发牌程序(三)
- Java程序日志三
- 程序的入门(三)
- 三、JavaScript程序构成
- 经典程序(三)
- 程序人生系列三
- 微信小程序教程(三)
- 【微信小程序 三】用户界面
- Java程序入门(三)
- 走进程序,又远离程序(三)
- Ruby程序运行外部程序(三)
- 厦门PX项目
- 40种网页常用小技巧(javascript)
- System Volume Information 拒绝访问
- 程序一
- 程序二
- 程序三
- 当前Java软件开发中几种认识误区
- 程序四
- 程序五
- 程序六
- 使用Visual Studio .NET编写纯C程序的提示
- 祝贺一下
- 一件很恶心的事
- C#排序