喽啰出道之周末叹

今天是来到asiainfo上班的第一周的最后一个工作日了,终于快要等到周末了……
幸福的都快要流泪了!
第一天来到asiainfo时,感觉一切都是那么美好。
豪华气派的大厦,优雅宽松的工作环境,还有经理和师兄师姐们亲切的笑容……
在公司的办公楼里,我也有了自己的一个办公桌和公司给配的笔记本电脑……
第一天,就这样的在兴奋和无所事事中度过去了……
第二天在我的期盼中到来了。
按照公司的要求,我今天要到现场去办公。因为我做的是后台系统的核心开发,要根据客户现场反映的情况和需求予以及时解决。
寻着地图我来到了浙江联通的枢纽楼,到研发中心一看,场面那个火爆啊!
急促的键盘敲打声响成一片,颇有“嘈嘈切切错杂弹 ,大珠小珠落玉盘”的味道……
经过对工作流程的了解,我也领到相应的工作项目,是跟着一个师兄后面做“积分系统”。
这一天,我恶补了oracle数据库的知识(以前没学过呗!),下了一堆资料,看得过天昏地暗,日月无光……
加班看到7点,回家途中被雨淋成落汤鸡……
第三天。
看代码,一大堆的代码,有长有多的程序代码,让人头脑发晕,两眼发花的程序代码……
师傅说了,你滴基础太差,要多看,多写,多熟悉……
没得说,就一个字拼了!
第四天。
和我一起新来的同事整天在asiainfo菜鸟群里哀嚎:“这可怎么活啊!”
我:“兄弟你退群吧,出了菜鸟群你就高手了!就有活下去的希望了!”
师傅:“高手往往都是被菜鸟烦死的,挂掉的概率更大!”
老大:“这年头,人为财死,鸟为食亡。吃得苦中苦,方为人上人啊!”
众人:“哲理啊……”
沉默啊沉默,不在沉默中爆发,就在代码中死亡……
第五天,也就是今天了,这周的最后一个工作日!
期待吧,我的双休日!
欢呼吧,我的假期!
以前在学校的时候,感觉天天都像星期天,有没有周末都无所谓。
睡觉睡到自然醒,游戏玩到手抽筋,旷课犹如吃便饭,整天没事到处逛!
这就是大多数人在大学里的真实写照吧。
如今才知道周末的宝贵啊。真是往事不堪回首……
现在是下午3点半,我们公司规定每周五下午下班前,要将这周的工作内容记录下来,做成周报表上交。偷了点时间写下这篇札记,“悟已往之不谏,知来者之可追,实迷途其未远,觉今是而昨非”。

                                                                                                                                  ——2008年07月26日 13:19

# 题目重述 编写一个程序,完成以下任务: 1. 生成五个随机的 `unsigned int32` 类型的整数,将它们写入文件 `input.txt`,并在终端以空格分隔的形式打印这些数值(格式与文件一致)。 2. 从 `input.txt` 文件中读取刚刚写入的五个整数。 3. 计算这五个整数的平均值(结果为 `float32` 类型),并将该平均值写入 `output.txt` 文件。 4. 在终端打印计算出的平均值。 语言限制:未指定具体编程语言,但需支持文件操作、随机数生成及数据类型定义。 --- # 给出答案(答案为带注释的代码块) ```c #include <stdio.h> #include <stdlib.h> #include <time.h> #include <stdint.h> int main() { // 定义变量 uint32_t numbers[5]; float mean; FILE *file; // 初始化随机数种子 srand(time(NULL)); // 生成5个随机uint32_t数 for (int i = 0; i < 5; i++) { numbers[i] = rand(); // rand() 返回值在uint32_t范围内 } // 写入input.txt并打印到终端 file = fopen("input.txt", "w"); if (file == NULL) { printf("无法打开input.txt\n"); return 1; } for (int i = 0; i < 5; i++) { fprintf(file, "%u", numbers[i]); if (i < 4) fprintf(file, " "); // 空格分隔 printf("%u ", numbers[i]); } printf("\n"); fclose(file); // 从input.txt读取数据 file = fopen("input.txt", "r"); if (file == NULL) { printf("无法打开input.txt\n"); return 1; } for (int i = 0; i < 5; i++) { fscanf(file, "%u", &numbers[i]); } fclose(file); // 计算均值(float32) mean = 0.0f; for (int i = 0; i < 5; i++) { mean += (float)numbers[i]; } mean /= 5.0f; // 写入output.txt并打印均值 file = fopen("output.txt", "w"); if (file == NULL) { printf("无法打开output.txt\n"); return 1; } fprintf(file, "%.6f\n", mean); fclose(file); printf("%.6f\n", mean); return 0; } ``` --- # 代码解析 1. **随机数生成**:使用 `srand(time(NULL))` 初始化随机种子,`rand()` 生成伪随机数,存入 `numbers` 数组。 2. **写入文件与终端输出**:通过 `fopen("input.txt", "w")` 创建并写入五个随机数,格式为空格分隔;同时用 `printf` 在终端输出相同内容。 3. **读取文件**:重新打开 `input.txt`,使用 `fscanf` 读取五个整数到数组中。 4. **计算均值**:将整数累加后转换为 `float` 类型,除以 5 得到 `float32` 均值。 5. **输出结果**:将均值写入 `output.txt`,并打印到终端,保留六位小数以符合浮点精度习惯。 --- # 知识点 - **文件读写操作**:掌握 `fopen`, `fprintf`, `fscanf`, `fclose` 等函数进行文本文件的输入输出。 - **随机数生成**:使用 `srand()` 与 `rand()` 函数生成伪随机数,需包含 `<stdlib.h>` 和 `<time.h>`。 - **数据类型转换**:理解 `uint32_t` 与 `float` 之间的显式和隐式类型转换规则,确保计算精度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值