描述
在编程模板中,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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复