1.
int Fact ( int n )
{ /*求正整数n的阶乘值*/
int m;
if (n==0) return(1);
else
{
m=n*Fact(n-1);
return(m);
}
}
main()
{ int n,a;
scanf("%d",&n);
a=Fact(n);
printf("the factorial is %d",a);
}
int Fact ( int n )
{/*求正整数n阶乘值的非递归算法*/
int i,fac;
fac=1; /*将变量fac初始化为Fact(0)的值*/
for (i=1;i<=n; ++i) fac =i*fac; /*根据递推关系进行递推*/
return(fac);
}
main()
{ int n,a;
scanf("%d",&n);
a=Fact(n);
printf("the factorial is %d",a);
}
2.
int Fibona ( int n )
{ /*求第n项Fibonacci级数的值*/
int m;
if (n==1) return (1);
else if (n==2) return(1);
else
{ m=Fibona(n-1)+ Fibona(n-2);
return (m);
}
}
main()
{ int n,a;
scanf("%d",&n);
a=Fibona(n);
printf("the fibonacci value is %d",a);
}
3.
int gcd(int m,int n)
{ /*求两个正整数的最大公约数*/
int k;
if (n==0) return(m);
else if (n>m) return(gcd(n,m));
else
{
k=m%n;
return(gcd(n,k));
}
}
main()
{int m,n;
printf("input m and n:");
scanf("%d%d",&m,&n);
printf("\n%4d%4d",gcd(m,n),gcd(n,m)) ;
}
4.
#include<stdio.h>
void convert(int n)
{ /*将正整数转换成字符串*/
int i;
char ch;
if ((i=n/10)!=0)
convert(i);
ch=( n % 10 )+ '0';
putchar(ch);
}
main()
{ int n;
scanf("%d",&n);
convert(n);
}
5.
print ( int n )
{ /*打印数字三角形*/
int i;
if (n!=0)
{
print(n-1);
for(i=1;i<=n;i++)
printf("%d",n);
printf("\n");
}
}
main()
{ int n;
scanf("%d",&n);
print(n);
}