C语言往文件里一行一行写入数据
时间: 2023-09-15 18:19:49 浏览: 172
你可以使用C语言中的文件操作函数来逐行写入数据。下面是一个示例代码:
```c
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "w"); // 打开文件(如果不存在则创建)
if (file == NULL) { // 检查文件是否成功打开
printf("文件打开失败!\n");
return 1;
}
// 逐行写入数据
fprintf(file, "第一行数据\n");
fprintf(file, "第二行数据\n");
fprintf(file, "第三行数据\n");
fclose(file); // 关闭文件
return 0;
}
```
在上面的示例中,首先使用`fopen`函数打开一个名为"data.txt"的文件,以写入模式("w")。如果文件不存在,则会创建一个新的文件。然后,使用`fprintf`函数逐行写入数据。最后,使用`fclose`函数关闭文件。
你可以根据需要修改示例代码中的文件名和要写入的数据。记得在使用完文件后关闭它,以释放资源。
相关问题
用C语言数组:某班级60名同学参加10公里毅行活动,所有同学行走用时存储在数组a 中,其中-1表示违规。编程计算全班同学的平均用时(违规的同学不在计算之列,结 果保留2位小数,要求用循环实现)。
好的,我理解您的问题了。以下是使用 C 语言数组计算全班同学平均用时的代码:
```c
#include <stdio.h>
int main() {
float a[60];
int i, valid_num = 0; // valid_num 表示有效的同学数量
float sum = 0, average = 0;
for (i = 0; i < 60; i++) {
scanf("%f", &a[i]);
if (a[i] >= 0) { // 如果该同学用时大于等于0,则计算在总用时和有效的同学数量中
sum += a[i];
valid_num++;
}
}
if (valid_num > 0) { // 有效的同学数量大于0才进行计算平均用时
average = sum / valid_num;
printf("全班同学的平均用时为:%.2f", average);
} else {
printf("所有同学均违规,无法计算平均用时。");
}
return 0;
}
```
代码解释如下:
1. 定义长度为 60 的浮点数数组 `a`,用于存储每个同学的用时。
2. 定义变量 `i` 用于循环,`valid_num` 表示有效的同学数量,`sum` 表示所有有效同学用时的总和,`average` 表示全班同学的平均用时。
3. 使用循环读入每个同学的用时,并将有效同学的用时计入 `sum`,并累加有效同学的数量。
4. 如果有效同学的数量大于 0,则计算平均用时并输出;否则输出提示信息表示所有同学均违规。使用 `%.2f` 格式化输出结果保留两位小数。