#include<stdio.h>
void fun(int a[],int n)
{int t,i,j;
for(i=0;i<n;i+=2)
for(j=i+2;j<n;j+=2)
if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{int c[10]={10,9,8,7,6,5,4,3,2,1},i;
fun(c,10);
for(i=0;i<10;i++) printf("%d,",c[i]);
printf("\n");
}
这个程序执行结果是多少,可以具体步骤给我解释下吗,谢谢!
这种模块话的程序,我个人建议先找到主程序,再看模块,个人建议哦,主要是我不喜欢模块在上,主程序在下...好奇怪的姿势..你懂的.. 不过不得不告诉楼主,学习并习惯使用模块开发是十分重要。
#include<stdio.h>//函数头,最常用的
void fun(int a[],int n)//确定返回的名字为fun,其值 int a 和n 并由第15行赋值
{
int t,i,j;//创建int t i j
for(i=0;i<n;i+=2)//使用for语句循环,i等于0,且小于10,跳到下一行,直到大于10之前 i自加2
for(j=i+2;j<n;j+=2)//执行这条语句之前,必须付i小于10这条件,且J的初赋值是i自加2,直到大于10之前,J自加2
if(a[i]>a[j])//使用if循环语句,条件是只要数组i大于数组j 就执行下面的语句
{
t=a[i]; //交换数值,t数值交换到数组i
a[i]=a[j];//一次类推
a[j]=t;//依次类推
}
}
void main()//自己手欠,写了一个返回值,不影响程序
{
int c[10]={10,9,8,7,6,5,4,3,2,1},i;//创建INT类型数组并赋值,创建INT类型i,不赋值
fun(c,10);//引用函数fun,程序到此跳到第一行开始执行
for(i=0;i<10;i++)//限定输出字符的范围
printf("%d,",c[i]);//输出C
printf("\n");//换行
getch();//又是自己手欠,自己添加的一个,没什么大作用就是balbalabla
}
下面程序的运行结果