程序执行结果分析题。,

定义一个10个元素的一维数组,赋值100以内的随机数,把最大数与第一个元素交换,最小数与最后一个元素交换。


代码如下:

#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]);

    }


} 

这个问题问得好