| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 898 人关注过本帖
标题:文件操作
只看楼主 加入收藏
hanserisgood
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2022-8-16
结帖率:77.78%
收藏
 问题点数:0 回复次数:4 
文件操作
题目:现在一个文件夹中有N份答案的文本文件,这些文件的名称依次由1到N命名(注:N>=1,N同时对应每位新生的编号)
例如现在有两人提交答案:
编号为1的新生答案文件:1.txt中:ABCC
编号为2的新生答案文件:2.txt中:ABCD

程序运行时:
--------
请输入正确答案:ABCD
请输入新生人数(N):2
结果已保存
--------

将得分结果输出到result.txt
该文本格式:
--------
15
20
我刚学到文件操作,像这样的多个文件的操作怎么整,求代码讲解:)谢谢
搜索更多相关主题的帖子: 答案 操作 txt 文件 编号 
2022-10-28 16:32
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
这种题目,应该有规定答案字符串最大长度;
为什么是15和20?题目规定每一题都是4分吗?

我刚学到文件操作,像这样的多个文件的操作怎么整
跟文件操作没关系,就是怎么生成 "1.txt","2.txt" 这样的字符串传给 fopen函数
2022-10-28 18:45
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
程序代码:
#include <stdio.h>

int main( void )
{
    char answer[1*1024+1]; // 其实题目没交代答案长度
    printf( "请输入正确答案:" );
    scanf( "%s", answer );

    unsigned long long n; // 其实题目没交代n的取值范围
    printf( "请输入新生人数(N):" );
    scanf( "%llu", &n );

    FILE* fout = fopen( "result.txt", "wt" );
    for( unsigned long long i=0; i!=n; ++i )
    {
        char filename[20+5]; // 其实题目没交代n的取值范围,所以文件名最长是多少就无法确定
        sprintf( filename, "%llu.txt", 1+i );

        char the[ sizeof answer ];
        FILE* fin = fopen( filename, "rt" );
        fscanf( fin, "%s", the );
        fclose( fin );

        size_t count = 0;
        for( size_t j=0; answer[j]!='\0' && the[j]!='\0'; ++j )
            count += answer[j]==the[j];

        fprintf( fout, "%zu\n", count*5 ); // 其实题目没交代一题几分
    }
    fclose( fout );
    puts( "结果已保存" );
}
2022-10-28 19:10
hanserisgood
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2022-8-16
收藏
得分:0 
回复 楼主 hanserisgood
题目打掉了一点,是4题 ,每题5分的[em04
2022-10-28 22:28
hanserisgood
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2022-8-16
收藏
得分:0 
回复 3楼 rjsp
之前忘记说了,十分感谢!!!
2022-11-05 00:00
快速回复:文件操作
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022246 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved