#include<stdio.h>
#include<stdlib.h>
#define N 100
int main()
{
FILE* fp1, * fp2;
errno_t err;
if ((err = fopen_s(&fp1, "in.txt", "w")) == NULL)
{
printf("can't open file!\n");
exit(0);
}
int a[N], i = 0, count = 0, sum = 0, sum1;
while (scanf_s("%d", &a[i]) == 1)
{
i++;
count++;
}
for (i = 0; i < count; i++)
fprintf(fp1, "%d", a[i]);
fclose(fp1);
err = fopen_s(&fp1, "in.txt", "r");
for (i = 0; i < count; i++)
{
fscanf_s(fp1, "%d", &a[i]);
sum += a[i];
}
fclose(fp1);
if ((err = fopen_s(&fp2, "in.txt", "w")) == NULL)
{
printf("can't open file!\n");
exit(0);
}
fprintf(fp2, "%d", sum);
fclose(fp2);
err = fopen_s(&fp2, "out.txt", "r");
fscanf_s(fp2, "%d", &sum1);
printf("%d", sum1);
return 0;
}
只是调试了一下代码问题,但是运行结果还是不符合我就没看了,后面的逻辑可以自己梳理。
#include<stdio.h>
#include<stdlib.h>
#define N 100
int main()
{
FILE* fp1, * fp2;
errno_t err;
if ((err = fopen_s(&fp1, "in.txt", "w")) != 0)
{
printf("can't open file!\n");
exit(0);
}
int a[N] = {0}, i = 0, count = 0, sum = 0, sum1;
int aa = 0;
while(aa !=5)
//while (scanf_s("%d", &a[i]) == 1) 这里是什么逻辑
{
scanf_s("%d", &a[i]);
i++;
count++;
aa++;
}
for (i = 0; i < count; i++)
fprintf(fp1, "%d", a[i]);
fclose(fp1);
err = fopen_s(&fp1, "in.txt", "r");
if (err != 0)
{
return -1;
}
for (i = 0; i < count; i++)
{
fscanf_s(fp1, "%d", &a[i]);
sum += a[i];
}
fclose(fp1);
if ((err = fopen_s(&fp2, "in.txt", "w")) != 0)
{
printf("can't open file!\n");
exit(0);
}
fprintf(fp2, "%d", sum);
fclose(fp2);
err = fopen_s(&fp2, "out.txt", "r");
if (err != 0)
{
return -1;
}
fscanf_s(fp2, "%d", &sum1);
printf("%d", sum1);
return 0;
}