描述
在编程模板中,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语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:788 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:509 |
【密码】 (C语言代码)浏览:333 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1016 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:640 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:667 |
简单的a+b (C语言代码)浏览:805 |
求圆的面积 (C语言代码)浏览:1662 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:326 |
图形输出 (C语言代码)浏览:1372 |