#include<stdio.h>
int a[10];
void sr(int a[]){
int i;
for(i=0;i<10;i++)scanf("%d",&a[i]);
}
void tz(int a[]){
int i,max,min,n;
max=9;
min=0;
for(i=0;i<10;i++){
if(a[i]>a[max])max=i;
if(a[i]<a[min])min=i;
}
n=a[0];a[0]=a[min];a[min]=n;
n=a[9];a[9]=a[max];a[max]=n;
}
void dy(int a[]){
int i;
for(i=0;i<10;i++)printf("%d ",a[i]);
}
int main()
{
sr(a);
tz(a);
dy(a);
return 0;
}
#include<stdio.h>
int a[10];
void sr(int a[]){
int i;
for(i=0;i<10;i++)scanf("%d",&a[i]);
}
void tz(int a[]){
int i,max,min,n;
max=a[0];//max=9输入10个整数,并不是0-9的数哦;
min=a[0];//min=0;
int imin,imax;//用来记录max,min的下标
for(i=0;i<10;i++){
if(a[i]>max)
{ max=a[i];//max=i;max要等于数组的值,不能是索引i
imax=i;
}
else if(a[i]<min)
{
min=a[i];//min=i;
imin=i;
}
}
//n=a[0];a[0]=a[min];a[min]=n;
//n=a[9];a[9]=a[max];a[max]=n;
n=a[0];a[0]=a[imin];a[imin]=n;
n=a[9];a[9]=a[imax];a[imax]=n;
}
void dy(int a[]){
int i;
for(i=0;i<10;i++)printf("%d ",a[i]);
}
int main()
{
sr(a);
tz(a);
dy(a);
return 0;
}
修改如下,供参考:
#include<stdio.h>
int a[10];
void sr(int a[])
{
int i;
for(i=0;i<10;i++) scanf("%d",&a[i]);
}
void tz(int a[])
{
int i,max,min,n;
max=0;//max=9;
min=0;
for(i=0;i<10;i++){
if(a[i]>a[max])max=i;
if(a[i]<a[min])min=i;
}
n=a[0];a[0]=a[min];a[min]=n;
if(max==0) max = min;
n=a[9];a[9]=a[max];a[max]=n;
}
void dy(int a[])
{
int i;
for(i=0;i<10;i++) printf("%d ",a[i]);
}
int main()
{
sr(a);
tz(a);
dy(a);
return 0;
}