题目来源:大工慕课 链接
作者:Caleb Sung
题目要求
利用指针编写程序,将一个一维数组a[10]
中的最大元素与第一个元素互换、将最小元素与最后一个元素互换。
参考代码
#include <stdio.h>void swap (int *a , int *b){int temp = *a;*a = *b;*b = temp;}int randArray(int array[10]){int i;srand(time(NULL));for(i=0; i<10; i++)array[i] = rand()%100+0;return array[10];}int main (){int a[10];a[10] = randArray(a);printf ("随机数组:\n");int i,*p,*pmin = a,*pmax = a;for (p = a ; p < a+10 ; p++)printf ("%d ",*p);for (p = a ; p < a+10 ; p++){if (*p > *pmax)pmax = p;if (*p < *pmin)pmin = p;}swap (pmax,a);swap (pmin,&a[9]);printf ("\n排序后数组:\n");for (p = a; p < a+10; p++)printf ("%d ",*p);}
运行效果
随机数组:71 92 83 78 66 7 87 76 92 76排序后数组:92 71 83 78 66 76 87 76 92 7
C语言:利用指针编写程序 将一个一维数组a[10]中的最大元素与第一个元素互换 将最小元素与最后一个元素互换