编写函数,找出将一维组(array[10])从大到小排序,在主函数中读入数组的元素.用C写.可以运行的.谢谢

编写函数,找出将一维组(array[10])从大到小排序,在主函数中读入数组的元素.用C写.可以运行的.谢谢
编写函数,判断YEAR 是否为闰年,若是则返回1,否则返回0.可以运行的.
编写函数,用递归法将一个N位整数转换为N个相应字符.可以运行.

一.关于排序,可以使用冒泡的方式进行.原理是先从数组的第一个元素与第二个比较,将大的与小的交换位置,再将第二个与第三个进行比较,按同样的规则交换位置,依次比较下去.
如 2 1 4 5 第一次比较后排列为 2 4 5 1,这样便可将最小的数拖到了最后.但还没有完.还需要再从第一元素开始依次比较下去,这样可以将次小的放在倒数第二个位置.就这样依次下去,那么N个数就需要循环比较N-1次.
例如:2 1 4 5 四个数就需要这样比较三次.各次结果分别为:
2 4 5 1(第一次)
4 5 2 1(第二次)
5 4 2 1(第三次)
具体程序如下:
void paixu(int *p)
{
int i=0,j=0;
int c=0;
for(i=0;i<=9;i++)
{
for(j=0;j<=9;j++)
{
if(p[j]<p[j+1])/*如果前一个小于后一个,交换它们的值*/
{
c=p[j];
p[j]=p[j+1];
p[j+1]=c;
}
}
}
}
main()
{
int i=0;
int array[10]={1,3,2,6,9,12,30,56,23,4};
paixu(array);
for(i=0;i<=9;i++)
{
printf("%d ",array[i]);
}
getch();
}
二.首先必须知道闰年的判定方法.
①、普通年能被4整除的为闰年。(如2004年就是闰年,1901年不是闰年)
地球公转示意图
②、世纪年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
int rnian(int year)
{
int s=0;
if(year%100=0&&year%4=0||year%100!=0&&year%4=0)
s=1;
return s;

}
三. 将N位整数转换个N位字符,基本思想是将整数的每一位数分离出来,同时,将他们转化为字符并依次存在一个字符型数组里面,最后,再赋上'\0',将数字转化为字符只须加上字符零.
void convert(int n)
{
int i;
if ((i=n/10)!=0)
{
convert(i);
}
putchar(n%10+'0');
}

int main(int argc, char *argv[])
{
int number;
printf("enter:\n");
scanf("%d",&number);
printf("output: ");
if (number<0)
{
putchar('-');
number=-number;
}
convert(number);
printf("\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-11
你是大学生吗?你问的几乎是例题。随便找一本c语言的书都会有的。我就不麻烦些了