YTU 2973: C语言习题5.25--文件操作2

Posted wx62f237590ad0d

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YTU 2973: C语言习题5.25--文件操作2相关的知识,希望对你有一定的参考价值。


2973: C语言习题5.25--文件操作2


时间限制: 1 Sec   内存限制: 128 MB

提交: 242  

解决: 105


题目描述


文本文件score.dic 中存储了n名学生的信息(班级编号,姓名,成绩),每个学生信息占一行,每行的数据之间使用制表符分割,如下所示:

145811  fuxin 100

145811  chengxian 90

145812  zhangxue 92

145812  lijun 88

……

将文本文件score.dic中姓名的首字母改成大写,其它字符保持不变,将结果输出。

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main()

char curch,lastch; /* 当前读入字符,上一次读入字符*/
FILE *fin; /* 输入文件 */
fin=fopen("score.dic","r"); /* 打开输入文件读 */
if(!fin) /* 文件打开失败 */

fprintf(stderr,"error open file!\\n"); /* 输出错误信息到标准错误设备 */
exit(-1); /* 强制退出,并返回错误码 */
/*******************/

/* 遍历输入文件的每一个字符 */
/* 当前字符是字母,上一次不是字母*/
/* 转换为大写,写入文件*/
/* 其它字符保持不变,写入文件*/
/* 记录上一次读入的字母*/
/* 关闭输入文件*//*******************/
return 0;



主程序已给出,请根据提示完成缺失部分并提交该部分。


输入


n名学生的信息(班级编号,姓名,成绩)(文件读入)


输出


变换后的学生数据


样例输入

样例输出

145811  Fuxin   100145811   Chengxian 90145812  Zhangxue    92145812  Lijun     88

迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main()

char curch,lastch; /* 当前读入字符,上一次读入字符*/
FILE *fin; /* 输入文件 */
fin=fopen("score.dic","r"); /* 打开输入文件读 */
if(!fin) /* 文件打开失败 */

fprintf(stderr,"error open file!\\n"); /* 输出错误信息到标准错误设备 */
exit(-1); /* 强制退出,并返回错误码 */

while(fscanf(fin,"%c",&curch)!=EOF)

if(!((lastch>=a&&lastch<=z)||(lastch>=A&&lastch<=Z))&&(curch>=a&&curch<=z))
curch=curch-32;
lastch=curch;
printf("%c",lastch);

return 0;






以上是关于YTU 2973: C语言习题5.25--文件操作2的主要内容,如果未能解决你的问题,请参考以下文章

YTU 2416: C语言习题 成绩输出

YTU 2427: C语言习题 整数排序

YTU 2422: C语言习题 n个数逆序

YTU 2444: C++习题 对象转换

YTU 2436: C++ 习题 输出日期时间--友元类

YTU 2432: C++习题 对象数组输入与输出