描述
在编程模板中,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语言训练-求素数问题 (C语言代码)浏览:952 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:473 |
母牛的故事 (C语言代码)浏览:1295 |
妹子杀手的故事 (C语言代码)浏览:679 |
C语言程序设计教程(第三版)课后习题5.7 (C++代码)浏览:846 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:544 |
多输入输出练习1 (C语言代码)浏览:1176 |
数组输出 (C语言代码)错误???浏览:558 |
A+B for Input-Output Practice (II) (C语言代码)浏览:989 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:625 |