松直君


私信TA

用户名:songzhijun

访问量:3551

签 名:

新一代的软件工程师们,加油吧,让我们用代码改变世界

等  级
排  名 4701
经  验 1568
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校 天津大学仁爱学院
专  业 软件工程

  自我简介:

代码热爱者

TA的其他文章

描述

在编程模板中,generate函数用于随机生成数组元素,print函数用于输出数组元素,sort函数用于对数组进行排序。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

在主函数main中,已预先定义了一个200个整数的数组a。用户输入一个正整数n(n<=200),先调用generate函数为数组a随机生成n个元素,并调用print函数输出排序前的数组元素,然后调用函数sort对数组进行排序,最后再次调用print函数输出排序后的数组。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

要求:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

1、排序采用选择排序法,降序‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

2、数组元素输出时,每个数字元素占5位宽度,每行输出10个‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

3、请将模板中缺失的代码补充完整,不得更改程序结构

输入输出示例

示例1    输入    输出    

26   35   -36   47   -57   68  -72   73   89   -91
      89   73   68   47   35   26  -36  -57  -72  -91
   

#include <stdio.h>

#include <stdlib.h>

void generate(int *p,int n)//p指向数组a

{

    int i;

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

    {

        srand(i);

        *(p+i)=rand()%500;

        

    }

}

void sort(/*请补充形参*/int *p,int n)

{

    /*请补充代码*/

    int i,j,k,m;

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

    {

        

        for(j=i+1;j<n;j++)

        {

            if(*(p+i)<*(p+j))

            {

                m=*(p+i);

                *(p+i)=*(p+j);

                *(p+j)=m;

                k=0;

            }

        }

        

    }


}

void print(/*请补充形参*/int *p,int n)

{

    int i;

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

        if(i%10==0)

            printf("\n");

        printf("%5d",*(p+i));

    }

    printf("\n");

}

int   main(void){

    int n,a[200];

    scanf("%d",&n);

    generate(a,n);

    printf("排序前:\n");

    print(a,n);

    sort(a,n);

    printf("排序后:\n");

    print(a,n);

    return 0;

}


 

0.0分

2 人评分

  评论区