c语言的问题 tk514改错

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:28:20
gc514.c的功能是:用插入法对数组a进行降序排序。程序中有三处错误,请指出并改正。
注意:不得改变程序的结构和算法,也不能增加或删除程序行
#include "stdio.h"
#define 10 NUM
main()
{
int a[NUM]={4,7,27,5,31,6,70,9,100,50};
int i,j,m;
for (i=1;i<NUM;i++)
{
m=a[i];
j=i-1;
while (j>=0 && m>a[j])
{
a[j-1]=a[j];
j--;
}
a[j]=m;
}
for (i=0;i<NUM;i++)
printf("%5d",a[i]);
printf("\n");
}

#include "stdio.h"
#define 10 NUM
main() //main函数没有函数类型!——默认为int型,故最后应该返回一个int值!!!
{
int a[NUM]={4,7,27,5,31,6,70,9,100,50};
int i,j,m;
for (i=1;i<NUM;i++)
{
m=a[i];
j=i-1;
while (j>=0 && m>a[j])
{
a[j-1]=a[j]; //a[j+1] = a[j];
j--;
}
a[j]=m;
}
for (i=0;i<NUM;i++)
printf("%5d",a[i]);
printf("\n");
}

题目说有3处错误。。。我横看竖看都只有两处! 不过我建议把include语句改一下,虽然不错,但这样很费时!改成:#include <stdio.h>