C语言:输入n(n<=10)个整数存放到一个数组中(假设n个数互不相同),要求将其中最小数与最大数进行交换

2024-11-29 00:36:45
推荐回答(2个)
回答1:

int a[10];
int max,min;
int NoMax=0,NoMin=0;
int temp;

for(int i=0;i<10;i++) scanf("%d",a[i]);//输入

min=a[0];
max=a[0];

for(int i=0;i<10;i++)
{
    if(a[i]>max)//查找最大下标
    {
        max=a[i];
        NoMax=i;
    }
    if(a[i]    {
        min=a[i];
        NoMin=i;
    }
}

//交换
temp=a[NoMax];
a[NoMax]=a[NoMin];
a[NoMin]=temp;

for(int i=0;i<10;i++)//输出
{
    printf("%d\t",a[i]);
}

回答2:

int a[10];
int max,min;
int NoMax=0,NoMin=0;
int temp;
for(int i=0;i<10;i++) scanf("%d",a[i]);//输入
min=a[0];
max=a[0];
for(int i=0;i<10;i++)
{
if(a[i]>max)//查找最大下标
{
max=a[i];
NoMax=i;
}
if(a[i]{
min=a[i];
NoMin=i;
}
}
//交换
temp=a[NoMax];
a[NoMax]=a[NoMin];
a[NoMin]=temp