文件data.txt中有一个已排好序的整数序列,main 函数中定义1个有8个元素的一维整型数组a,从data.txt文件中读入数据赋给数组a,然后从键盘输入一个整数,要按原来排序的规律将它插入数组a中,再将插入后数组a中的值写到文件data.txt中。 例如:原来文件中的整数依次为4 6 8 41 56 77 102。若将42插入数组中,则插入后文件中的整数序列为4 6 8 41 42 56 77 102。c语言
时间: 2023-06-11 20:08:43 浏览: 198
以下是实现该功能的 C 语言代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int a[MAX_SIZE];
int n, new_num, i, j;
// 从文件中读入整数序列
FILE *fp = fopen("data.txt", "r");
n = 0;
while (fscanf(fp, "%d", &a[n]) == 1) {
n++;
}
fclose(fp);
// 从键盘输入新的整数
printf("请输入一个整数:");
scanf("%d", &new_num);
// 将新的整数插入到数组中
i = n - 1;
while (i >= 0 && a[i] > new_num) {
a[i+1] = a[i];
i--;
}
a[i+1] = new_num;
n++;
// 将新的整数序列写入文件中
fp = fopen("data.txt", "w");
for (i = 0; i < n; i++) {
fprintf(fp, "%d ", a[i]);
}
fclose(fp);
printf("插入后的整数序列为:");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
该代码首先打开文件,从中读取整数序列,然后从键盘输入一个新的整数,将其插入到数组中,并将新的整数序列写回到文件中。
阅读全文