YTU 2972: C语言习题5.24--文件操作1
2972: C语言习题5.24--文件操作1
时间限制: 1 Sec 内存限制: 128 MB
提交: 248 解决: 94
题目描述
文本文件score.dic 中存储了n名学生的信息(班级编号,姓名,成绩),每个学生信息占一行,每行的数据之间使用制表符分割,如下所示:
145811 fuxin 100
145811 chengxian 90
145812 zhangxue 92
145812 lijun 88
……
文件中存储的学生信息按照班级编号升序排列,每个班级的人数可以不同,要求读取文件中所有学生的成绩,计算每个班级的平均成绩,将班级编号和平均成绩输出。
主程序已给出,请根据提示补充缺失代码并提交该部分。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num=0; /* 班级人数计数 */
int sumScore=0; /* 累计成绩*/
int curClass; /* 当前班级 */
int curScore; /* 当前成绩 */
int lastClass; /* 上一个班级*/
int readItems; /* 正确读入数据数目 */
FILE *fin; /* 输入文件 */
fin=fopen("score.dic","r"); /* 打开输入文件读 */
if(!fin) /* 文件打开失败 */
{
fprintf(stderr,"error open file!\n"); /* 输出错误信息到标准错误设备 */
exit(-1); /* 强制退出,并返回错误码 */
}
/****************/
/* 读入班级和成绩 */
/* 读入数据合法*/
/* 处理连续的相同班级数据*/
/* 班级人数累计 */
/* 班级成绩累计 */
/* 读入下一个班级和成绩 */
/* 输出平均成绩 */
/* 数据清零 */
/* 关闭输入文件*/
/*****************/
return 0;
}
输入
n名学生的信息(班级编号,姓名,成绩)(文件读入)
输出
每个班级的班级编号和平均成绩
样例输入
无
样例输出
145811 95145812 90
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num=0; /* 班级人数计数 */
int sumScore=0; /* 累计成绩*/
int curClass; /* 当前班级 */
int curScore; /* 当前成绩 */
int lastClass; /* 上一个班级*/
int readItems; /* 正确读入数据数目 */
FILE *fin; /* 输入文件 */
fin=fopen("score.dic","r"); /* 打开输入文件读 */
if(!fin) /* 文件打开失败 */
{
fprintf(stderr,"error open file!\n"); /* 输出错误信息到标准错误设备 */
exit(-1); /* 强制退出,并返回错误码 */
}
while(readItems=fscanf(fin,"%d %*s %d",&curClass,&curScore))
{
if(readItems!=2)
{
break;
}
if((curClass==lastClass||num==0))
{
num++;
sumScore+=curScore;
lastClass=curClass;
}
else
{
printf("%d\t%d\n",lastClass,sumScore/num);
num=1;
sumScore=curScore;
lastClass=curClass;
}
}
printf("%d\t%d\n",lastClass,sumScore/num);
num=0;
sumScore=0;
curClass=0;
curScore=0;
fclose(fin);
return 0;
}
YTU 2972: C语言习题5.24--文件操作1的更多相关文章
- YTU 2974: C语言习题5.26--文件操作3
2974: C语言习题5.26--文件操作3 时间限制: 1 Sec 内存限制: 128 MB 提交: 213 解决: 92 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编号 ...
- YTU 2973: C语言习题5.25--文件操作2
2973: C语言习题5.25--文件操作2 时间限制: 1 Sec 内存限制: 128 MB 提交: 242 解决: 105 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编 ...
- YTU 2418: C语言习题 矩阵元素变换
2418: C语言习题 矩阵元素变换 时间限制: 1 Sec 内存限制: 128 MB 提交: 293 解决: 155 题目描述 将一个n×n(2<n<10,n为奇数)的矩阵中最大的元 ...
- YTU 2414: C语言习题 字符串排序
2414: C语言习题 字符串排序 时间限制: 1 Sec 内存限制: 128 MB 提交: 656 解决: 305 题目描述 输入n个字符串,将它们按字母由小到大的顺序排列并输出.编写三个函数实 ...
- YTU 2425: C语言习题 输出月份
2425: C语言习题 输出月份 时间限制: 1 Sec 内存限制: 128 MB 提交: 476 解决: 287 题目描述 编写一程序,输入月份号,输出该月的英文月名.例如,输入3,则输出Mar ...
- YTU 2420: C语言习题 不等长字符串排序
2420: C语言习题 不等长字符串排序 时间限制: 1 Sec 内存限制: 128 MB 提交: 460 解决: 239 题目描述 在主函数中输入n(n<=10)个不等长的字符串.用另一函 ...
- YTU 2419: C语言习题 等长字符串排序
2419: C语言习题 等长字符串排序 时间限制: 1 Sec 内存限制: 128 MB 提交: 650 解决: 249 题目描述 在主函数中输入n(n<=10)个等长的字符串.用另一函数对 ...
- YTU 2424: C语言习题 字符串比较
2424: C语言习题 字符串比较 时间限制: 1 Sec 内存限制: 128 MB 提交: 1042 解决: 613 题目描述 写一函数,实现两个字符串的比较.即自己写一个strcmp函数,函数 ...
- YTU 2417: C语言习题 字符串长度
2417: C语言习题 字符串长度 时间限制: 1 Sec 内存限制: 128 MB 提交: 758 解决: 548 题目描述 写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长 ...
随机推荐
- SpringJUnit4ClassRunner拉起来的单元测试怎么装配Container实例
由于历史代码的原因,产品中部分spring装配的实例需要通过Container的实现类(自定义的)去获取.那么当在单元测试中怎么实例化这个Container实现呢? 实例化Container实现需要A ...
- Leetcode: Data Stream as Disjoint Intervals && Summary of TreeMap
Given a data stream input of non-negative integers a1, a2, ..., an, ..., summarize the numbers seen ...
- Oracle-数据库
Oracle 1.特点 关系型数据库 采用二维表的行使管理数据库 具有行和列 表间存在关联关系 2.安装 数据库(11g) 版本类型 32位 64位 安装类型 桌面类 本机开发 服务器类 生 ...
- 转:python webdriver API 之 验证码问题
对于 web 应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的,对于系统来说使用验证码可以有效果的防止采用机器猜测 ...
- 【你吐吧c#每日学习】10.29 C#字符串类型&Common operators
backslash \反斜杠 escape sequence 转义字符 double quote 双引号 new line 新行字符 Bell アラート Console.WriteLine(" ...
- 给三个int,判断是否可构成三角形算法
哎,今天跟同事讨论算法,有一个女生给我出了这样一个题目,bool Test(int a,int b,int c)感觉很简单,实际呢?自己考虑的不够全面.在得到了提示之后呢,也还是找不到很好的解决方案. ...
- Java Switch(String)
package shb.java.test; /** * switch支持字符串 * @Package:shb.java.test * @Description: * @author shaobn * ...
- angular 倒计时
$scope.countdown = ; var myTime = setInterval(function() { $scope.countdown--; $scope.$digest(); // ...
- [Ubuntu] Ubuntu搭建VPN服务器pptpd
在 Ubuntu 上搭建 VPN 服务器的方法非常多,比较著名的有 PPTP, L2TP/IPSec 和 OpenVPN. 这三种方式中后两者的安全性比较好,但配置较麻烦.其中 OpenVPN 在 W ...
- hibernate笔记01