#include<stdio.h>
int main()
{
int i,j,min,t,a[10]={2,4,8,3,6,9,7,222,64,88};
printf("排序前的序列为:\n");
for(i=0;i<10;i++)//输出排序前的序列
{
printf("%5d",a<i>);
}
printf("\n");
for(i=0;i<9;i++)
{
min=i;//把每次循环的第一个数作为最小值
for(j=i+1;j<10;j++)
{
if(a[min]>a[j])
min=j;//交换
}
if(min!=i)//说明第一个数不是最小数,所以将a[i+1]~a[10]中最小值与a<i>对换
{
t=a[min];
a[min]=a<i>;
a<i>=t;
}
}
printf("排序后的序列为:\n");
for(i=0;i<10;i++)//输出排序后的序列
printf("%5d",a<i>);
printf("\n");
return 0;
}
return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
要使用子函数的方法来做,谢谢~
追答#include
max(int a[])
{
int i,j,t;
for(i=0;ia[j])
{t=a[i]; a[i]=a[j]; a[j]=t; }
}
main()
{
int a[10],i;
printf("please input ten int numbers:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max(a);
for(i=0;i<10;i++) printf("%d ",a[i]);
}