数据的排序

来源:百度知道 编辑:UC知道 时间:2024/05/27 23:34:16
用VC做下面的编程题:
随机输入一组整数要求将其按从大到小和从小到大的顺序输出。
帮帮忙啊,我先谢谢你们了。

#include <stdio.h> //头文件
main()
{
void sort(int x[],int n); 声明函数
int *p,i,a[10];
p=a; p指向a的第一个元素
for(i=0;i<10;i++)
scanf("%d",p++); 输入10个整数,作为a[10]的值
p=a; q指向a的首地址
sort(p,10); 对a的10个元素进行排序
for(p=a,i=0;i<10;i++)
{printf("%d",*p);p++;} 打印出a的所有数值
}
void sort(int x[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++) 访问数组中每个成员
if(x[j]>x[k]) k=j; 如果后一个元素比前一个大,则k的值为最大元素的序号
if(k!=i)如果后一个比前一个大
{t=x[i]; t是临时中间变量,把x[i]的值存在t中
x[i]=x[k]; 把x[k]的值赋给x[i],即后者比前者大的情况下,交换两者的位置
x[k]=t;把先前x[i]的值赋给x[k]
}
}'看看是不是你需要的