3) 定义一个可以存放 20 个整型数元素的一维整型数组rArray,用随机数生成函

3) 定义一个可以存放 20 个整型数元素的一维整型数组rArray,用随机数生成函数(参考Lab Assessment 3 )生成
20 个1-50 之间的随机整数,并把它们存放在该整型数组中。
4) 定义一个可以存放 51 个字符元素的一维字符型数组cArray,并将其全部初始化为数值0。
5) 按照数组 rArray 下标顺序在屏幕上输出数组中的这20 个随机整数。并按照数组下标顺序在屏幕上显示出这15
个随机整数的棒图。最简单的棒图可以用显示’*’的数量来表示,例如,若随机整数是13,则在一行中显示13 个’*’;
也可以首先将13 个’*’写入字符型数组cArray,然后使用字符串形式显示出来。
6) 等待键盘输入回车键。然后进行下面的过程:
7) 用冒泡排序算法对这20 个随机数按照由大到小的顺序排序,将排序结果存放到原数组之中。
8) 按照排序后的数组下标顺序,在屏幕上输出数组中的这 20 个随机整数。同时在屏幕上显示出已经排序后的数组
的棒图。
9) 等待键盘输入回车键。然后进行下面的过程:
2
10) 用选择排序算法在再对上述20 个数按照由小到大的顺序排序,将排序结果存放到原数组之中。
11) 按照排序后的数组下标顺序,在屏幕上输出数组中的这20 个随机整数。同时在屏幕上显示出已经排序后的数
组的棒图。
大神顺便把运行结果截图给我好吗?可以的话,追加流程图,可以多给分。

第1个回答  推荐于2016-07-05

void showData(int rArray[],int n)

{

    int i;

    for(i=0; i<n; i++)

    {

        printf("%-3d",rArray[i]);

    }

    printf("\n");

    int j;

    for(i=1; i<51; i++)

    {

        for(j=0; j<n; j++)

        {

            if(rArray[j] >= i)

                printf("*  ");

            else

                printf("   ");

        }

        printf("\n");

    }

    printf("\n");

}

void selectSort(int array[],int length,int type) //-1 小到大   1 大到小

{

    for(int i=0;i<length-1;i++)

    {

        int index=i;

        for(int j=i+1;j<length;j++)

        {

            if(type < 0)

            {

                if(array[j]<array[index])

                {

                    index=j;

                }

            }

            if(type > 0)

            {

                if(array[j]>array[index])

                {

                    index=j;

                }

            }

        }

        if(i!=index)

        {

            int temp = array[index];

            array[index]=array[i];

            array[i]=temp;

        }

    }

}

int main(int argc, const char * argv[])

{

    srand(time(NULL));

    

    int rArray[20];

    int i;

    for(i=0; i<20; i++)

    {

        rArray[i] = rand()%50 + 1;

    }

    showData(rArray,20);

    

    selectSort(rArray,20,-1);

    showData(rArray,20);

    

    selectSort(rArray,20,1);

    showData(rArray,20);

    

    return 0;

}

追问

= =很好很强大,但是我要的是C++诶。

本回答被提问者采纳
相似回答