《C语言及程序设计》实践参考——工资的排序-阿里云开发者社区

开发者社区> 贺利坚> 正文

《C语言及程序设计》实践参考——工资的排序

简介: 返回:贺老师课程教学链接  项目要求 【项目4-工资的排序】从文件salary.txt中读入工人的工资(不超过500人),全部增加20%(好事),然后对工资数据进行排序,将排序后的结果保存到文件ordered_salary.txt中。做完打开文件看看结果,玩这么多数据于股掌之间,相信你会有成就感的。 [参考解答] #include <stdio.h> #include &lt
+关注继续查看

返回:贺老师课程教学链接  项目要求


【项目4-工资的排序】
从文件salary.txt中读入工人的工资(不超过500人),全部增加20%(好事),然后对工资数据进行排序,将排序后的结果保存到文件ordered_salary.txt中。
做完打开文件看看结果,玩这么多数据于股掌之间,相信你会有成就感的。


[参考解答]

#include <stdio.h>
#include <stdlib.h>
int main()
{
    double salary[500];
    FILE *fpin, *fpout;
    fpin=fopen("salary.txt","r");
    if(fpin==NULL)
    {
        printf("salary file open error!\n");
        exit(1);
    }
        fpout=fopen("ordered_salary.txt","w");
    if(fpout==NULL)
    {
        printf("cannot write to file!\n");
        exit(1);
    }
    int n=0;
    while(fscanf(fpin, "%lf",&salary[n])!=EOF)   //当读取成功……
    {
        salary[n]*=1.2;
        n++;
    }
        fclose(fpin);          //读入完毕要关闭文件
    //共有n名职工,排序
    int i, j;
    double t;   //用于交换的中间变量,也应该是double型
    for (i=0; i<n-1; i++)
        for(j=0; j<n-i-1; j++)
            if (salary[j]>salary[j+1])
            {
                t=salary[j];
                salary[j]=salary[j+1];
                salary[j+1]=t;
            }
    for(i=0; i<n; i++)   //输出排序后结果
        fprintf(fpout, "%.2f\n", salary[i]);
    printf("thanks, byebye!\n");
    fclose(fpout);
    return 0;
}


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10089 0
《软件工程方法与实践》—— 1.6 小结
软件是计算机系统中与硬件相对应的另一部分,是一系列程序、数据及其相关文档的集合。软件具有复杂性、一致性、退化性、易变性、移植性和高成本等特征。软件工程是由于软件危机的出现而被提出的,其主旨是以工程化的思想进行软件的开发与维护,目的是高效率地生产出高质量的软件。
1410 0
Serverless 工程实践 | 细数 Serverless 的配套服务
上文说到云计算的十余年发展让整个互联网行业发生了翻天覆地的变化,Serverless 作为云计算的产物,或者说是云计算在某个时代的表现,被很多人认为是真正意义上的云计算,关于“Serverless 是什么”这个问题,其实是可以通过不同角度来分析的。
296 0
Linux下编写选择排序(C语言)
1、创建源文件。 vi bubble.c 2、编写源代码 2、执行命令:gcc bubble.c -Wall -o app    (其中的-Wall标识严格编译) 3、执行命令:./app 
729 0
十分钟快速玩转 Aliware MQ-阿里云消息队列Demo工程实践
本 Demo 主要目的在于帮助初次接触 Aliware MQ 的工程师,一步一步搭建 MQ 测试工程。Demo 程序以 Java 为例,包括普通消息、事务消息、定时消息的测试代码,以及相关 Spring 的配置示例。
9627 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13892 0
从企业级架构到互联网架构迁移的工程实践
随着业务的快速增长,一个线上交易系统在有限的时间内,不但需要维持线上系统的稳定,还要支撑新需求的开发,否则将由于技术支撑不利错失业务发展关键时间窗口。本文分享了一次从企业级架构到互联网架构迁移的工程实践。
1982 0
+关注
贺利坚
烟台大学计算机学院教师,建设系列学习资源,改革教学方法,为IT菜鸟建跑道,让大一的孩子会编程,为迷茫的大学生出主意,一起追求快乐的大学。 著书《逆袭大学:传给IT学子的正能量》,帮助处于迷茫中的大学
1965
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载