用C语言写一个程序,要求读取文件中的数据,第一行为一个int,读取后赋值给C,第二行为多个用逗号区分的int,读取后加入到一个名为value的数组,第三行为多个用逗号区分的int,读取后加入到一个名为weight的数组
时间: 2024-05-13 17:18:16 浏览: 56
如果要将二进制文件fdat读到数组中则有-C语言学习入门教程
下面是一个实现上述功能的C语言程序:
```c
#include <stdio.h>
#define MAX_N 100
int main() {
FILE *fp = fopen("data.txt", "r"); // 打开文件
int C;
fscanf(fp, "%d", &C); // 读取第一行的整数
int i = 0, value[MAX_N], weight[MAX_N];
char ch;
while ((ch = fgetc(fp)) != '\n') continue; // 跳过第一行的换行符
while (fscanf(fp, "%d", &value[i]) == 1) { // 读取第二行的多个整数
i++;
if ((ch = fgetc(fp)) != ',') break; // 处理逗号分隔符
}
i = 0;
while ((ch = fgetc(fp)) != '\n') continue; // 跳过第二行的换行符
while (fscanf(fp, "%d", &weight[i]) == 1) { // 读取第三行的多个整数
i++;
if ((ch = fgetc(fp)) != ',') break; // 处理逗号分隔符
}
fclose(fp); // 关闭文件
return 0;
}
```
其中,假设数据文件为`data.txt`,格式如下:
```
5
1,2,3,4,5
10,20,30,40,50
```
第一行表示C的值为5,第二行为多个用逗号分隔的整数1,2,3,4,5,读取后分别存入数组value中,第三行为多个用逗号分隔的整数10,20,30,40,50,读取后分别存入数组weight中。
阅读全文