明解C语言,练习13-3,从文件中读入个人信息,按身高排序后显示
2024-10-11 04:43:30
#include <stdio.h>
#define NUMBER 6
#define F_PATH "D:\\C_C++\\ec13-3\\hw.dat"
typedef struct {
char name[20];
int height;
float weight;
} student;
void swap(student *x,student *y)
{
student tmp = *x;
*x = *y;
*y = tmp;
}
void sort(student data[],int n)
{
int k = n - 1;
while( k >= 0) {
int i,j;
for(i = 1,j = -1;i <= k;i++)
if(data[i-1].height > data[i].height){
j = i -1;
swap(&data[i],&data[j]);
}
k = j;
}
}
int main(void)
{
FILE *fp;
student str[10];
if ((fp = fopen(F_PATH,"r")) == NULL)
printf("\aIt is error!\n");
else {
for(int i=0;i < NUMBER;i++)
{
fscanf(fp,"%s%d%f",str[i].name,&str[i].height,&str[i].weight);
// while((fscanf(fp,"%s%d%f",str[i].name,&str[i].height,&str[i].weight))==3);
}
sort(str,NUMBER);
puts("-----------------------------------");
for(int i=0;i < NUMBER;i++) {
printf("%-8s %6d %6.1f\n",str[i].name,str[i].height,str[i].weight);
}
puts("-----------------------------------");
fclose(fp);
}
return (0);
}
最新文章
- 【干货】用大白话聊聊JavaSE — ArrayList 深入剖析和Java基础知识详解(二)
- 简明 VIM 练级攻略
- Tomcat常见的内存溢出,以及解决方法
- css多行文本省略号
- BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler错误的解决方法
- PHP文件系统处理(二)
- 【性能测试】性能测试总结<;四>;
- Jquery的hover方法让鼠标经过li时背景变色
- [转] JS运算符 &;&;和|| 及其优先级
- [置顶] 网页提交方式post和get的区别和联系
- windows下安装redis以及redis扩展,设置redis为windows自启服务
- 通过nginx的fastcgi_param来设置环境变量
- javascript parseUrl函数解析url获取网址url参数
- swp文件已存在
- jquery Jquery 遍历 获取设置 效果
- Codeforces 584E Anton and Ira
- RxJava【创建】操作符 create just from defer timer interval MD
- 史上最全的iOS面试题及答案,且看且珍藏,错过就没有喽!
- 2017-2018-1 JaWorld 团队作业--冲刺4
- Opencv+pycharm+anaconda配置