描述
在编程模板中,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语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:896 |
剔除相关数 (C语言代码)浏览:1833 |
假币问题 (C语言代码)浏览:2333 |
【偶数求和】 (C语言代码)记得sum的归零时机浏览:924 |
C语言训练-最大数问题 (C语言代码)浏览:633 |
输出正反三角形 (C语言代码)格式错误!!!浏览:1140 |
简单的a+b (C语言代码)浏览:597 |
WU-输出正反三角形 (C++代码)浏览:1018 |
WU-拆分位数 (C++代码)浏览:779 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:784 |