提交给系统后,显示答案错误,我这边运行结果正确
#include <stdio.h>
#include<conio.h>
void main()
{
FILE *in,*out;
int a[100];
int b,n=0,cnt=0,i;
int *p;
p=a;
in=fopen("a.dat","rb");
out=fopen("b.txt","wb");
while (fscanf(in,"%x",p++)!=EOF)
{
n++;
}
scanf("%x",&b);
for (i=0;i<n;i++)
{
if(b==a[i])
{
cnt++;
}
}
fprintf(out,"%d",cnt);
printf("%d\n",cnt);
fclose(out);
fclose(in);
out=NULL;
in=NULL;
system("pause");
return 0;
}
题目要求如下
在题目中说,输出应该放到"b.txt"中,但是看你这边两行代码,可以知道,你往"b.txt"中输出的格式是"%d",并不是他想要的"%d\n"。
并且这边"printf"的那一行根本不需要。你只要改了在文件中输出的格式,并且不要在编译器里输出,我觉得应该就解决了。
fprintf(out,"%d",cnt);
printf("%d\n",cnt);