|
发表于 2020-12-16 10:59:09
|
显示全部楼层
本楼为最佳答案
本帖最后由 风过无痕1989 于 2020-12-16 11:17 编辑
我先原答案写在这里,然后再帮你改
- #include<stdio.h>
- int main()
- {
- void max_min(int *p, int n);
- int a[10];
- int i, n = 10, *p;
- p = a;
- printf("输入10个整数:\n");
- for (i = 0;i < 10;i++)
- {
- scanf("%d", &a[i]);
- }
- max_min(a, n);
- printf("max = %d ,min = %d\n", a[9],a[0]);
- }
- void max_min(int *p, int n)
- {
- int i, j = 0, k = 0, max, min, temp;
- max = *p;
- min = *p;
- for (i = 1;i < n;i++)
- {
- if (max < *(p + i))
- {
- max = *(p + i);
- j = i;
- }
- if (min > *(p + i))
- {
- min = *(p + i);
- k = i;
- }
- }
- temp = *(p + 9); // 以下三句将最大值放置于数组最后面
- *(p + 9) = *(p + j);
- *(p + j) = temp;
- temp = *(p + 0); // 以下三句将最小值放置于数组最前面
- *(p + 0) = *(p + k);
- *(p + k) = temp;
- }
复制代码 |
|