编写一个程序,对给定的一维整型数组a,数组元素个数为20个,现要求把数组中的最大元素和a[0]进行交换,其他位置的元素都不动
#include<stdio.h>
void main()
{
int a[20];
printf("输入数组元素:\n");
for(int i=0;i<20;i++)
{
printf("a[%d]:",i);
scanf("%d",&a[i]);
}
int *max=&a[0];//必须使用指针,在内存中进行交换
for(i=1;i<20;i++)//遍历元素找到最大值
{
if(a[i]>*max)
max=&a[i];
}
if(*max!=a[0])//最大值不是a[0]则与a[0]交换
{
int temp=a[0];
a[0]=*max;
*max=temp;
}
printf("交换后数组:\n");
for(i=0;i<20;i++)
{
printf("a[%d]:%d\n",i,a[i]);
}
}