以下程序的功能是:求得数组 a 中的最大数和最小数,再交换这两个元素的值后输出数组 a,并将结果
保留到 my 文件夹下的 sz.txt 中。
例如,读入 a 数组中的值为:
45 7 12 64 97 50 123 9 18 20
最后输出:
45 123 12 64 97 50 7 9 18 20
1."w"
2.p
3.p+i
4.p+i
5.fprintf(fp,"%d ",a[i])
"w"
*p
*(p+i)
*(p+i)
fprintf(fp,"%d ",a[i])
这怎么改啊
#include<stdio.h>
#define N 10
int main()
{
FILE* fp;
int a[N], i, t;
int* p = a, * max, * min;
fp = fopen_s("C:\\my\\sz.txt", "w");
for (i = 0; i < N; i++)
scanf_s("%d", p + i);
max = min = p;
for (i = 1; i < N; i++)
if (*(p + i) > *max)
max = p + i;
else if (*(p + i) < *min)
min = p + i;
t = *max;
*max = *min;
*min = t;
for (i = 0; i < N; i++)
{
printf("%d ", a[i]);
fprintf(fp, "%d", a[i]);
}
fclose(fp);
return 0;
}
#include<stdio.h>
#define N 10
int main()
{
FILE* fp;
int a[N], i, t;
int* p = a, * max, * min;
fp = fopen("C:\\my\\sz.txt", "w");
for (i = 0; i < N; i++)
scanf_s("%d", p + i);
max = min = p;
for (i = 1; i < N; i++)
if (*(p + i) > *max)
max = p + i;
else if (*(p + i) < *min)
min = p + i;
t = *max;
*max = *min;
*min = t;
for (i = 0; i < N; i++)
{
printf("%d ", a[i]);
fprintf(fp, "%d", a[i]);
}
fclose(fp);
return 0;
}