1.
#include <stdio.h>
#include <stdlib.h>
long factorial(int n)
{
if (n==0||n==1){
return 1;
}
return n*factorial(n-1);
}
int main()
{
int n;
printf("n=");
scanf("%d",&n);
long result=factorial(n);
printf("n!=%1d",result);
return 0;
}
2.1
#include <stdio.h>
#include <stdlib.h>
long fib_iter(int n){
if (n==0) return 0;
if (n==1) return 1;
long a=0,b=1,c;
for (int i=2;i<=n;i++){
c=a+b;
a=b;
b=c;
}
return b;
}
int main()
{
int n;
printf("n=");
scanf("%d",&n);
long F=fib_iter(n);
printf("F(%d)=%1d",n,F);
return 0;
}
2.2
#include <stdio.h>
#include <stdlib.h>
long fib_iter(int n){
if (n==0) return 0;
if (n==1) return 1;
return fib_iter(n-1)+fib_iter(n-2);
}
int main()
{
int n;
printf("n=");
scanf("%d",&n);
long F=fib_iter(n);
printf("F(%d)=%1d",n,F);
return 0;
}
3.
#include <stdio.h>
#include <stdlib.h>
double power_linear(double x,int n)
{
if (n==0)
{return 1.0;}
if (n<0)
{return 1.0/power_linear(x,-n);}
return x*power_linear(x,n-1);
}
int main()
{
double x,y;
int n;
printf("x=");
scanf("%lf",&x);
printf("n=");
scanf("%d",&n);
y=power_linear(x,n);
printf("%lf的%d次幂是:%.4f\n",x,n,y);
return 0;
}
4.
#include <stdio.h>
#include <stdlib.h>
int pascal (int row,int col)
{
if (col==0||col==row){
return 1;
}
return pascal(row-1,col-1)+pascal(row-1,col);
}
void print_pascal(int n){
for (int i=0;i<n;i++){
for (int j=0;j<n-i-1;j++){
printf(" ");
}
for (int j=0;j<=i;j++){
printf("%d ",pascal(i,j));
}
printf("\n");
}
}
int main()
{
int rows;
printf("请输入杨辉三角的行数: ");
scanf("%d",&rows);
print_pascal (rows);
return 0;
}
1481

被折叠的 条评论
为什么被折叠?



