c语言把in.txt文件中第一行数据存入数组a,把文件中第二行数据存入数组b
时间: 2024-02-22 22:57:22 浏览: 127
你可以参考以下代码实现:
```c
#include <stdio.h>
#define MAX_LEN 100 // 数组最大长度
int main() {
FILE *fp;
int a[MAX_LEN], b[MAX_LEN];
int i = 0;
fp = fopen("in.txt", "r"); // 打开文件
if (fp == NULL) { // 判断文件是否打开成功
printf("Failed to open file!");
return -1;
}
// 读取第一行数据
while (fscanf(fp, "%d", &a[i]) != EOF) {
i++;
}
i = 0;
// 读取第二行数据
while (fscanf(fp, "%d", &b[i]) != EOF) {
i++;
}
fclose(fp); // 关闭文件
return 0;
}
```
在实现过程中,我们首先通过 `fopen()` 函数打开指定文件,然后通过 `fscanf()` 函数读取文件中的数据并存入数组中,最后通过 `fclose()` 函数关闭文件。需要注意的是,我们使用了 `while` 循环来读取文件中的每一行数据,直到读取到文件结尾(EOF)。
相关问题
用C语言写B. 实验7-1-2 将数组中的数逆序存放 题目描述 本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。 输入 输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。 输出 在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。
```c
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n); // 输入数组大小
int a[n];
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]); // 输入数组元素
}
int temp;
for (int i = 0; i < n / 2; i++) {
temp = a[i];
a[i] = a[n - i - 1];
a[n - i - 1] = temp; // 数组逆序
}
for (int i = 0; i < n; i++) {
printf("%d", a[i]);
if (i != n - 1) {
printf(" "); // 输出数组元素
}
}
return 0;
}
```
C语言数组a中包括10个整数,从a中第二个元数起,分别将后项减前项之差存入数组b中,并按每行4个元素输出数组b
下面是实现该功能的C语言代码:
```c
#include <stdio.h>
int main() {
int a[10] = {1, 3, 6, 9, 12, 15, 18, 21, 24, 27};
int b[9];
for (int i = 1; i < 10; ++i) {
b[i - 1] = a[i] - a[i - 1];
}
for (int i = 0; i < 9; ++i) {
printf("%d ", b[i]);
if ((i + 1) % 4 == 0) {
printf("\n");
}
}
return 0;
}
```
输出结果为:
```
2 3 3 3
3 3 3 3
3 3 3
```
其中,第一部分将原数组a中的差值计算出来并存入数组b中,第二部分按照每行4个元素的方式输出数组b中的元素。
阅读全文