二级C语言 程序设计题

按题目要求编写完整功能代码,参考答案点击按钮展开

78程序设计题:将数组写入文本文件并读取求和

编写函数 fun,将数组 a 的 n 个整数写入文本文件 data.txt(每个数一行),返回写入的元素个数。

#include <stdio.h>
/* 函数功能:将数组 a 的 n 个整数写入文本文件 data.txt,
   每个整数占一行。返回成功写入的元素个数。
   请在下方编写 fun 函数体。 */
int fun(int a[], int n)
{
    /* 请在这里编写代码 */

}

int main()
{
    int a[] = {10,20,30,40,50};
    int cnt = fun(a, 5);
    printf("写入 %d 个整数\n", cnt);
    return 0;
}
参考答案
int fun(int a[], int n)
{
FILE *fp;
int i, count = 0;
fp = fopen("data.txt", "w");
if(fp == NULL) return 0;
for(i=0; i<n; i++)
{
fprintf(fp, "%d\n", a[i]);
count++;
}
fclose(fp);
return count;
}
解析

考点:文件操作 fopen/fprintf/fclose。打开模式 "w" 表示写(覆盖已有内容)。必须检查 fp==NULL 防止打开失败导致崩溃。用 fprintf(fp, "%d\n", a[i]) 每个整数一行写入。写完必须 fclose 关闭文件(否则数据可能还在缓冲区没落盘)。count 记录成功写入个数。