admin 管理员组文章数量: 887021
2024年1月28日发(作者:sqlserver2008企业版)
C语言程序:某班有10名同学,建立学生结构体类型,包括学号,姓名,3门课程的成绩,编写程序
编译代码:
#include
#include"string.h"
#include
#define N 100000
struct st{
char a[15];
char b[20];
int x,y,z;
};
int fun1(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
int fun2(char *x,char *y)
{
char *t;
strcpy(t,x);
strcpy(x,y);
strcpy(y,t);
}
int main() {
/*_________________________________________________*/
FILE *fp,*ok;
char b[N + 1];
//判断文件是否打开
if ( (fp = fopen("D:操作文件1号.txt", "r")) ==
NULL )/*这里D:操作文件1号.txt 是路径;读取D盘下,名为(操作文件1号)的文本文件*/
{
puts("操作文件1号读取失败!");
exit(0);
}
else
{
puts("操作文件1号读取成功");
puts("开始计算");
}
/*__________________________________________*/
struct st s[111];
char t[20],str[N];
int aver[111]={0};
for(int i=0;i<5;i++)
{
fscanf(fp,"%s%s%d%d%d",s[i].a,s[i].b,&s[i].x,&s[i].y,&s[i].z);
printf("%s %s %d %d %dn",s[i].a,s[i].b,s[i].x,s[i].y,s[i].z);
}
printf("按平均成绩排序n");
for(int i=0;i<5;i++)
{
aver[i]=(s[i].x+s[i].y+s[i].z)*1.0/3;
}
printf("n");
for(int i=0;i<5;i++)
{
for(int j=0;j<4-i;j++)
{
if(aver[j] { fun2(s[j].a,s[j+1].a); fun2(s[j].b,s[j+1].b); fun1(&aver[j],&aver[j+1]); fun1(&s[j].x,&s[j+1].x); fun1(&s[j].y,&s[j+1].y); fun1(&s[j].z,&s[j+1].z); } } } if ( (ok = fopen("D:操作文件2号.txt", "w")) == NULL )/*D:操作文件2号.txt 是路径;写入D盘下,名为(操作文件2号)的文本文件*/ { puts("操作文件2号写入失败!"); exit(0); } else { puts("操作文件2号写入成功"); } for(int i=0;i<5;i++) { fprintf(ok,"第%d名;%s %s %d %d %dn",i+1,s[i].a,s[i].b,s[i].x,s[i].y,s[i].z); printf("第%d名;%s %s %d %d %dn",i+1,s[i].a,s[i].b,s[i].x,s[i].y,s[i].z); } /*___________________________________________*/ //结束关闭文件 fclose(ok); fclose(fp); return 0; }
版权声明:本文标题:C语言程序:某班有10名同学,建立学生结构体类型,包括学号,姓名,3门课程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706377226h505858.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论