c语言 13-3

1、

复制代码
#include <stdio.h>
#include <string.h>

typedef struct{
    char name[128];
    double height;
    double weight;
}Type1;

void swap2(Type1 *x, Type1 *y)
{
    Type1 tmp = *x;
    *x = *y;
    *y = tmp;
}

void sort2(Type1 x[], int n)
{
    int i, j;
    for(i = 0; i < n - 1; i++)
    {
        for(j = n - 1; j > i; j--)
        {
            if(strcmp(x[j - 1].name, x[j].name) > 0)
            {
                swap2(&x[j - 1], &x[j]);
            }
        }
    }
}

int main(void)
{
    FILE *fp;
    
    int lines = 0;
    char name[128];
    double height, weight;
    double hsum = 0, wsum = 0;
    
    fp = fopen("hw.dat", "r");
    if(fp == NULL)
        printf("\afile does not exist!\n");
    else
    {
        while(fscanf(fp, "%s%lf%lf", name, &height, &weight) == 3)
        {
            printf("%-8s%8.2f%8.2f\n", name, height, weight);
            lines++;
            hsum += height;
            wsum += weight;
        }
        puts("\n============================\n");
        printf("average %8.2f%8.2f\n", hsum/lines, wsum/lines);
        
        fp = fopen("hw.dat", "r");
        int i = 0;
        Type1 x[lines];
        while(fscanf(fp, "%s%lf%lf", x[i].name, &x[i].height, &x[i].weight) == 3)
        {
            i++;
        }
        puts("\n============================\n");
        for(i = 0; i < lines; i++)
            printf("%-8s%8.2f%8.2f\n", x[i].name, x[i].height, x[i].weight);
        
        sort2(x, lines);
        puts("\n==============================\n");
        puts("sort_by_name.");
        for(i = 0; i < lines; i++)
            printf("%-8s%8.2f%8.2f\n", x[i].name, x[i].height, x[i].weight);
        fclose(fp);
    }
    return 0;
}
复制代码

 

posted @   小鲨鱼2018  阅读(42)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示