#include
#include
void main()
{
int i,min,max,temp,t1,t2,a[10],*p=a;
for(i=0;i<10;i++)
scanf("%d",p+i);
min = a[0];
max = a[0];
t1=0;
t2=0;
for(i=0;i<10;i++)
{
if(min>a[i])
{
min=a[i];
t1=i;
}
#include
#define N 10
int main()
{
int a[N],i,tmp;
int *p,*pMax,*pMin,*q=NULL;
p=pMax=pMin=a;
for(i=0;iscanf("%d",&a[i]);
for(i=0;i{
if(*p > *pMax)
{
pMax=p;
}
if(*p < *pMin)
{
pMin=p;
}
}
//将最大数与第一个数交换
tmp=a[0];
a[0]=*pMax;
*pMax=tmp;
//修正当最小值在首位时,在上面的交换中最小值被移位
if(pMin==a)
{
pMin=pMax;
}
//将最小数与最后一个数交换
tmp=a[9];
a[9]=*pMin;
*pMin=tmp;
//输出数组元素
for(i=0;iprintf("%d ",a[i]);
printf("\n");
return 0;
}
#include "stdio.h"
void max_min(int *a,int index,int end); //声明函数
void main(){
int a[10],i; //定义数组a用来存储10个整数
for(i=0;i<10;i++) //输入10个整数
scanf("%d",&a[i]);
for(i=0;i<10;i++) //输出交换前的数组a的元素
printf("%d ",a[i]);
printf("\n");
max_min(a,0,9); //调用查找并交换最大最小值
for(i=0;i<10;i++) //输出交换后的数组a的元素
printf("%d ",a[i]);
printf("\n");
}
void max_min(int *a,int index,int end){
int *indexp,*endp,*temp,*maxp,*minp; //分别定义指向第一个元素、指向最后一个元素、临时、
//指向最大、指向最小的指针变量
indexp=(int *)malloc(sizeof(int)); //给指针们分配存储空间
endp=(int *)malloc(sizeof(int));
temp=(int *)malloc(sizeof(int));
maxp=(int *)malloc(sizeof(int));
minp=(int *)malloc(sizeof(int));
*indexp=index; //给指针们初始化
*endp=end;
*maxp=*indexp;
*minp=*endp;
for(int i=0;i<=*endp;i++){ //查找最大最小值
if(a[*maxp]if(a[*minp]>a[i]) *minp=i;
}
*temp=a[*indexp]; //把最小值与第一个元素交换
a[*indexp]=a[*minp];
a[*minp]=*temp;
*temp=a[*endp]; //把最大值与最后一个元素交换
a[*endp]=a[*maxp];
a[*maxp]=*temp;
free(indexp); //给指针们释放空间
free(endp);
free(maxp);
free(minp);
free(temp);
}
#include
#define N 10
int main()
{
int a[N],i,tmp;
int *p,*pMax,*pMin;
p=pMax=pMin=a;
for(i=0;iscanf("%d",&a[i]);
for(i=0;i{
if(*p > *pMax)
{
pMax=p;
}
if(*p < *pMin)
{
pMin=p;
}
}
//将最大数与第一个数交换
tmp=a[0];
a[0]=*pMax;
*pMax=tmp;
//将最小数与最后一个数交换
tmp=a[9];
a[9]=*pMin;
*pMin=tmp;
//输出数组元素
for(i=0;iprintf("%d ",a[i]);
printf("\n");
return 0;
}