|
|
发表于 2011-12-20 08:09:26
|
显示全部楼层
#include<stdio.h>
#include <stdlib.h>//导入随机数头文件
int sort(int a[],int n);//声明排序函数
int main()
{
int i,a[10],*p;
for(i=0;i<10;i++)
{
//scanf("%d",&a);
a[i] = rand()%100;//嫌输入麻烦,该随机了
}
printf("\n");
p=a;
sort(p,10);//传p,传a。。都一样,这里p有点多余了
for(i=0;i<10;i++)//把P去除了。。。
{
printf("%d,",a[i]);//"%d,"加了个逗号做分割,不然看不清那个打那个。。
//*p。。永远都只能是获取a数组的第一个数值,
//要改就改成*(p+i)
}
printf("\n");
system("pause");//暂停一下,不给命令行,闪一闪就介绍
return 0;
}
int sort(int a[],int n)//这里也不用改
{
int i,j,t;
//for(j=0;j<9;j++)
for(j=0;j<n-1;j++)//既然n都传进来了,就好好利用
{
//for(i=0;i<9-j;i++)
for(i=0;i<n-1-j;i++)//同上
{
if(a[i]<a[i+1])
{//没注意细节,没加大括号...
t=a[i];//t是int类型,a只是个int指针类型,t=a,类型不同,报错
//t=a,也可以改成t=*(a+i);
a[i]=a[i+1];//同上
a[i+1]=t;
}
}
}
return 1;//既然该函数要返回,就返回一个咯
}
好好学习,别把细节给忘了。。。加油。。 |
|