思路,a文件中的数字是确定的,根本不要考虑,只需要b文件中缺少的数字就好了
把b中的数字都出来,挨个确认就是了,假设b中数字有重复且不是按顺序排列的
#include <stdio.h>
int main(void)
{
FILE *fpb,*fpc;
char *temp[2400];
int b[600];
int n;
if(fpb=fopen("b.txt","r")&&fpc=fopen("c.txt","w+"))
{
fgets(temp,2400,fpb);
n=strlen(temp)/4;
for(int i=0;i<n;i++)
{
b[i]=(temp[n*i]-48)*100;
b[i]=b[i]+(temp[n*i+1]-48)*10;
b[i]=b[i]+temp[n*i+2]-48;
}
for(i=0;i<n;i++)
{
for(j = 0; j < n - 1 - i; j++)
{
if(b[j] > b[j + 1])
{
b[j] = b[j] ^b[j+1];
b[j+1] = b[j] ^ b[j+1];
b[j] = b[j] ^ b[j+1];
}
}
}
if(b[0]>0)
{
for(i=0;i<b[0];i++)
{
fprintf(fpc,"%03d ",i);
}
}
for(i=1;i<n;i++)
{
if((b[i]-b[i-1])>1)
{
for(j=1;j<(b[i]-b[i-1]);j++)
{
fprintf(fpc,"%03d ",b[i]+j);
}
}
}
fclose(fpb);
fclose(fpc);
}
else
{
printf("打开文件b.txt或者创建文件c.txt失败!\n");
return 0;
}
return 0;
}