| 
 | 
 
 
发表于 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;
 
 - }
 
  复制代码 |   
 
 
 
 |