#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);
}
												

明解C语言,练习13-3,从文件中读入个人信息,按身高排序后显示的更多相关文章

  1. 《明解c语言》已看完,练习代码此奉上

    2016年9月20日至2016年11月12日,从学校图书馆借来的<明解c语言>看完了. 大三第一个学期,前8周,有c语言程序设计的课.课本是学校里的老师编写出版的,为了压缩空间,减少页面, ...

  2. 明解C语言

    本文为阅读书籍<明解C语言-中级篇>所积累的知识点及编译书本代码时遇到的问题.部分对应代码在\Code_2018\BK_明解C语言目录下.每个代码内都含有程序功能.思路.疑惑点等内容,如有 ...

  3. C语言学习书籍推荐《明解C语言》下载

    柴田望洋 (作者), 管杰 (译者), 罗勇 (译者) <明解C语言>是日本的C语言经典教材,自出版以来不断重印.修订,被誉为“C语言圣经”.作者在日本IT界家喻户晓,出版过一系列极富影响 ...

  4. [C 语言基础] 如何调用不同文件中的函数

    很多时候需要将实现不同功能的函数或者与某个模块有关的函数写在一个文件里.这样有两个好处: 1. 方便以后调用:以后需要用到这个模块,或者这类函数,直接将相关文件复制过去,再稍微修改一下就能应用于不同场 ...

  5. 哨兵查找法(明解c语言) + 函数式宏

    //哨兵法,就是将待查找的元素加入待查找的数组的后面,这样可以提高性能(在数据量很庞大的时候体现出来) #include <stdio.h> #define FAILURE -1 //使用 ...

  6. 明解C语言 入门篇 第一章答案

    练习1-1 #include <stdio.h> int main() { int a; a = 15; int b; b = 37; int c; c = a - b; printf(& ...

  7. 明解C语言 中级篇 第一章答案

    练习1-1 #include <stdio.h> #include<stdlib.h> int main() { srand(time()); ; printf("您 ...

  8. 明解C语言 入门篇 第五章答案

    练习5-1 /* 依次把1.2.3.4.5 赋值给数组的每个元素并显示(使用for语句) */ #include <stdio.h> int main(void) { int i; ]; ...

  9. 明解C语言 入门篇 第四章答案

    练习4-1 #include <stdio.h> int main(void) { int no; int x; do{ printf("请输入一个整数:"); sca ...

随机推荐

  1. hadoop2.0安装和配置

    hadoop2与hadoop1的配置有些许不同,最主要的是hadoop1里的master变成了yarn 这篇文直接从hadoop的配置开始,因为系统环境和jdk和hadoop1都是一样的. hadoo ...

  2. HDU -- 4496

    D-City Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Subm ...

  3. shell 执行jar 的命令

    #!/bin/sh ############## #判断是否程序已启动 jappname='Test' mainclasspath="com.company.commontest.test& ...

  4. Bzoj 2763: [JLOI2011]飞行路线 拆点,分层图,最短路,SPFA

    2763: [JLOI2011]飞行路线 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1694  Solved: 635[Submit][Statu ...

  5. How to install Python 2.7 and Python 3.3 on CentOS 6

    原文地址:http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/

  6. 用code workshop取代code review

    Box Tech Blog » Effective learning through code workshops介绍了Box如何用code workshop而不是code review的形式来改善代 ...

  7. HDU5047Sawtooth(java大数)

    HDU5047Sawtooth(java大数) 题目链接 题目大意:在一个矩形内画n个"M".问如何画可以把这个矩形分成最多的区域. 给出这个区域的数目. 解题思路:最好的方式就是 ...

  8. HDU--5280(dp或枚举)

    官方题解: 这个题有非常多O(n2)的算法.这里说一种:枚举每个区间,在枚举区间的同一时候维护区间内的最小值和区间和,将最小值与P的大小进行比較,贪心地取最大值就可以.注意若枚举到的区间是整个数组,则 ...

  9. hdu1043Eight (经典的八数码)(康托展开+BFS)

    建议先学会用康托展开:http://blog.csdn.net/u010372095/article/details/9904497 Problem Description The 15-puzzle ...

  10. iOS-UIResponse之事件响应链及其事件传递

    UIResponse之事件响应链及其事件传递 我们的App与用户进行交互,基本上是依赖于各种各样的事件.一个视图是一个事件响应者,可以处理点击等事件,而这些事件就是在UIResponder类中定义的. ...