c语言的一些算法问题。

来源:百度知道 编辑:UC知道 时间:2024/05/18 14:20:53
请大家帮我解这几道题。
1。求N!(N的介乘),要求N由键盘输入。
2。输入一组数据,按大小排列输出。
3。fibonacci数列前N项之和,要求N由键盘输入。

1。递归法求阶层源程序如下:
int jc(int x)
{
if (x==0|x==1)
return 1;
else
return x*jc(x-1);
}
main()
{
int n;
scanf("%d",&n);
printf("%d!=%d",n,jc(n));
}

2。输入一组数据,按大小排列输出。
解:源程序如下:
#include <stdio.h>
main()
{
int s[10],t;
int i,j;
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (i=0;i<9;i++)
for (j=i+1;j<10;j++)
if (s[i]>s[j])
{
t=s[j];
s[j]=s[i];
s[i]=t;
}
for (i=0;i<10;i++);
printf("%3d",a[i]);
}

3。fibonacci数列前N项之和,要求N由键盘输入。
递归法求阶层源程序如下:
int fib(int x)
{
if (x==0|x==1)
return 1;
else
return fib(x-1)+fib(x-2);
}
main()
{
int n;
scanf("%d",&n);
printf("%d=%d",n,fib(n));
}

1:
#include<stdio.h>