C语言:定义一个包含10个元素的一维数组找出其中的最大值让其与第一个元素交换,找出最小值与最后一个

C语言:定义一个包含10个元素的一维数组找出其中的最大值让其与第一个元素交换,找出最小值与最后一个园区交换,输出数组中各元素的值

代码如下:

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

void main(){

    int i, a[10], max, min, pmax, pmin, tmp; 

    srand(time(NULL));

    for(i=0; i<10; i++){

        a[i] = rand()%100+0;

    }


    printf("这十个数分别为:\n");

    for (i=0; i<10; i++){

        printf("%d\t", a[i]);

    }


    max = a[0];

    pmax = 0;

    for(i=1; i<10; i++){

        if(a[i] > max){

            max = a[i];

            pmax = i;

        }

    }

    printf("\n\n最大值:\t%d", max);


    min = a[0];

    pmin = 0;

    for(i=1; i<10; i++){

        if(a[i] < min){

            min = a[i];

            pmin = i;

        }

    }

    printf("\n最小值:\t%d", min);


    tmp = a[0];

    a[0] = a[pmin];

    a[pmin] = tmp;


    tmp = a[9];

    a[9] = a[pmax];

    a[pmax] = tmp;


    printf("\n\n经过调整过后的十个数分别为:\n");

    for (i=0; i<10; i++){

        printf("%d\t", a[i]);

    }


扩展资料:

注意事项

数组位置交换的几种方法

1、引入第三个变量

var arr = ['one','two'];var item = arr[0];

arr[0] = arr[1];

arr[1] = item;

2、splice方法, splice() 方法会直接对数组进行修改,splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

arr.splice(1,1,arr[0]) 将第二个值替换成第一个值,...arr.splice(1,1,arr[0])拿到被替换的值,即第二个值,
arr.splice(0,1,...arr.splice(1,1,arr[0]))将第一个值换成第二个值
var arr = ['one','two'];

arr.splice(0,1,...arr.splice(1,1,arr[0]))// 或者 arr.splice(0,1,arr.splice(1,1,arr[0])[0])//arr.splice(index2,1,...arr.splice(index1, 1 , arr[index2]));

3、数组解构赋值(数组长度大于2时不适用)

var arr = ['one','two'];

[arr[0],arr[1]] = [arr[1],arr[0]]// [arr[index1],arr[index2]] = [arr[index2],arr[index1]];

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-24
#include <stdio.h>

int main()
{
int arr[10];
int i, max, min, temp;

for (i = 0; i < 10; i++)
scanf("%d", &arr[i]);
max = min = 0;

for (i = 1; i < 10; i++)
if (arr[i] > arr[max])
max = i;
else if (arr[i] < arr[min])
min = i;
temp = arr[max];
arr[max] = arr[0];
arr[0] = temp;

temp = arr[min];
arr[min] = arr[9];
arr[9] = temp;

for (i = 0; i < 10; i++)
printf("%d ", arr[i]);
putchar('\n');
return 0;
}

本回答被提问者采纳