2974: C语言习题5.26--文件操作3

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

提交: 213  解决: 92

题目描述

文本文件score.dic 中存储了n名学生的信息(班级编号,姓名,成绩),每个学生信息占一行,每行的数据之间使用制表符分割,如下所示:
145811 fuxin100
145811 chengxian90
145812 zhangxue92
145812 lijun88
……
将文本文件score.dic中的制表符替换成等价个数的空格,使空格充满到下一个制表符终止位的地方,将结果输出。假设制表符终止位的位置固定,每隔8列出现一个制表符终止位。

#include <stdio.h>

#include <stdlib.h>

#define TABSIZE 8   /* 制表符宽度 */

int main()

{

    int num;        /* 空格计数 */

    int i;          /* 循环变量 */

    char ch;        /* 当前读入字符 */

    FILE *fin;      /* 输入文件 */

    fin=fopen("score.dic","r");     /* 打开输入文件读 */

    if(!fin)     /* 文件打开失败 */

    {

        fprintf(stderr,"error open file!\n");       /* 输出错误信息到标准错误设备 */

        exit(-1);       /* 强制退出,并返回错误码 */

    }
/*************/

        /* 初始化计数 */

       /* 遍历输入文件的每一个字符 */

        /* 制表符 */

       /* 补足空格 */

       /* 重新计数 */

        /* 其它字符原样输出 */

        /* 新的一行,重新计数 */

        /* 下一个终止位,重新计数 */

        /* 关闭输入文件*/
/*************

      return 0;

}

主程序已给出,请补充缺失并提交该部分。

输入

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

输出

处理后的学生数据

样例输入

样例输出

145811  fuxin           100
145811 chengxian 90
145812 zhangxue 92
145812 lijun 88

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

#include <stdio.h>
#include <stdlib.h>
#define TABSIZE 8 /* 制表符宽度 */
int main()
{
int num; /* 空格计数 */
int i; /* 循环变量 */
char ch; /* 当前读入字符 */
FILE *fin; /* 输入文件 */
fin=fopen("score.dic","r"); /* 打开输入文件读 */
if(!fin) /* 文件打开失败 */
{
fprintf(stderr,"error open file!\n"); /* 输出错误信息到标准错误设备 */
exit(-1); /* 强制退出,并返回错误码 */
}
num=0;
while(fscanf(fin,"%c",&ch)!=EOF)
{
num++;
if(ch=='\t')
{
for(i=0; i<=TABSIZE-num; i++)
putchar(' ');
num=0;
}
else
printf("%c",ch);
if(ch=='\n'||num==TABSIZE)num=0;
}
fclose(fin);
return 0;
}

YTU 2974: C语言习题5.26--文件操作3的更多相关文章

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

    2973: C语言习题5.25--文件操作2 时间限制: 1 Sec  内存限制: 128 MB 提交: 242  解决: 105 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编 ...

  2. YTU 2972: C语言习题5.24--文件操作1

    2972: C语言习题5.24--文件操作1 时间限制: 1 Sec  内存限制: 128 MB 提交: 248  解决: 94 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编号 ...

  3. YTU 2414: C语言习题 字符串排序

    2414: C语言习题 字符串排序 时间限制: 1 Sec  内存限制: 128 MB 提交: 656  解决: 305 题目描述 输入n个字符串,将它们按字母由小到大的顺序排列并输出.编写三个函数实 ...

  4. YTU 2425: C语言习题 输出月份

    2425: C语言习题 输出月份 时间限制: 1 Sec  内存限制: 128 MB 提交: 476  解决: 287 题目描述 编写一程序,输入月份号,输出该月的英文月名.例如,输入3,则输出Mar ...

  5. YTU 2420: C语言习题 不等长字符串排序

    2420: C语言习题 不等长字符串排序 时间限制: 1 Sec  内存限制: 128 MB 提交: 460  解决: 239 题目描述 在主函数中输入n(n<=10)个不等长的字符串.用另一函 ...

  6. YTU 2419: C语言习题 等长字符串排序

    2419: C语言习题 等长字符串排序 时间限制: 1 Sec  内存限制: 128 MB 提交: 650  解决: 249 题目描述 在主函数中输入n(n<=10)个等长的字符串.用另一函数对 ...

  7. YTU 2424: C语言习题 字符串比较

    2424: C语言习题 字符串比较 时间限制: 1 Sec  内存限制: 128 MB 提交: 1042  解决: 613 题目描述 写一函数,实现两个字符串的比较.即自己写一个strcmp函数,函数 ...

  8. YTU 2417: C语言习题 字符串长度

    2417: C语言习题 字符串长度 时间限制: 1 Sec  内存限制: 128 MB 提交: 758  解决: 548 题目描述 写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长 ...

  9. YTU 2429: C语言习题 学生成绩输入和输出

    2429: C语言习题 学生成绩输入和输出 时间限制: 1 Sec  内存限制: 128 MB 提交: 1897  解决: 812 题目描述 编写一个函数print,打印一个学生的成绩数组,该数组中有 ...

随机推荐

  1. Redo丢失场景和处理方法

    Redo丢失场景和处理方法 Type of Failure Status Column of V$LOG Action One member failed in multiplexed group N ...

  2. python中的yield

    在理解yield之前,要首先明白什么是generator,在理解generator之前首先要理解可迭代的概念. 可迭代(iterables)在你创建一个list的时候,可以逐个读取其中的元素,该逐个读 ...

  3. 布置theano(Windows10,无cuda)

    软件包准备 1.Anaconda 下载地址,包含python.numpy.scipy.nose.pip等包,嗯,很爽. 2.tdm64-gcc 下载地址,windows下的gcc.g++编译器,用来t ...

  4. java 获取当前系统系时间

    //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 SimpleDateFo ...

  5. Excel操作增强包

    一.前期准备1)  pywin32安装包(根据系统要求选择32位装包还是64位安装包)2)  xlwings安装包二.安装过程1)  pywin32安装包为exe文件,直接进行安装即可2)  xlwi ...

  6. ruby的在ubuntu上的安装

    apt (Debian or Ubuntu) Debian GNU/Linux and Ubuntu use the apt package manager. You can use it like ...

  7. HashMap和HashTable区别

    HashMap和HashTable区别 HashMap--->允许控制/线程安全 HashTable-->线程不安全

  8. css3文字与字体

    ---恢复内容开始--- 1.text-overflow(用来设置是否使用省略标记)必须和white-space:nowrap 同时使用white-space:nowrap(强制文本在一行显示) wo ...

  9. html5新增全局属性

    data-* 如:data-type,data-role等 hidden  <div hidden></div> 隐藏该div spellcheck <textarea ...

  10. java 虚拟机工具

    jps 命令 可以查询开启了rmi服务的远程虚拟机进程状态. -v jvm参数. jstat -gcutil命令 [cangyue@/System/Library/Frameworks/JavaVM. ...