文件data.txt中有一个已排好序的整数序列

文件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。

/* Note:Your choice is C IDE */
#include "stdio.h"
#include <stdlib.h>
void main()
{
	FILE *fp;
    char c;
    char str[100]={'\0'};
    char num[5]={'\0'};
    int i=0;
    int j=0;
    int k=0;
    int s=0;
    int a[10]={0};
    int b;
    fp = fopen("d:\\test.txt","r");
    c=fgetc(fp);
    str[i++]=c;
    while(c !=EOF){
    	 c=fgetc(fp);
    	 str[i++]=c;
    }
    //关闭
    fclose(fp);
    
    for(j=0;j<i;j++){
    	
    	if(str[j]>='0' && str[j]<='9'){
    		num[k++] = str[j];	
    	}else {
    		k=0;
    		a[s++]= atoi(num);
    	}
    }
    printf("请输入一个数:");
    scanf("%d",&b);
    
    for(i=0;i<s;i++){
    	if(a[i]<b){
    		continue;	
    	}else{
    		j=i;
    		break;
    	}
    	
    }
    for(i=s;i>=j;i--){
    	a[i]=a[i-1];
    }
    a[j]=b;
    for(i=0;i<=s;i++)
    	printf("%d\t",a[i]);	
}

文本文件在D盘根目录下面

不知道你从哪儿搞到的这个题,这个描述的好有问题,data.txt 中排序好的整数序列,是用什么分隔的?序列的数量是否有要求?已排好序,是确定升序还是降序?为啥固定是长度为 8 的数组?下面这种情况,你期望得到怎样的结果: 原序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 插入数字为 20。你是期望用 20 替换掉 8 这个数字还是期望把 20 放在 11 后面

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632