C 语言教程 在线

1750c-exercise-example27

参考方法:

#include<stdio.h>

void fun(char* s,int length)
{
    if (length >= 1)
    {
        printf("%c\n", s[length - 1]);
        fun(s, length - 1);
    }
}

int main()
{
    char* s = "hello";
    int length = 5;
    fun(s, length);
    return 0;
}

1749c-exercise-example26

参考方法:

#include<stdio.h>
int fact(int n)
{
    if(n == 0 || n == 1)
        return 1;
    else
        return n*fact(n - 1);
}

int main(void)
{
    int i;
    for(i = 0; i <= 5; i++)
    {
        printf("%d!=%d\n",i,fact(i));
    }
    return 0;
}

1748c-exercise-example25

参考方法:

#include <stdio.h>
#pragma warning(disable:4996)

void compute(long int);//计算前N!和的子函数

int main()
{
    long int number = 0;
    
    printf("求N!,请输入N;\n");
    scanf("%ld",&number);
    compute(number);//调用子函数

    //system("pause");
}

void compute(long int number)
{
    long int n = 1;
    long int sum = 0;
    long int i = 0;

    for(i = 0;i<number;++i)
    {
        n = n*(i+1);//计算当前的N!
        sum = sum + n;//计算前N!的和
        if(i<number-1) printf("%ld!+",i+1);
        if(i == number-1) printf("%ld!=%ld\n",i+1,sum);
    }
    
}

1747c-exercise-example25

参考方法:

#include <stdio.h>

int main(){
    int i,t,n;
    long long sum,temp;
    while(scanf("%d",&n)!=EOF){
        sum=0;
        if(n==0 || n==1){
            printf("1\n");
        }
        else{
            for(i=1;i<=n;i++){
                temp=1;
                t=i;
                while(t){
                    temp=temp*t;
                    t--;
                }
                sum+=temp;
            }
        }
        printf("%lld\n",sum);
    }
    return 0;
}

1746c-exercise-example25

参考方法:

#include<stdio.h>
double Fun(double n)
{
    if(n == 0)
        return 1;
    else
        return n*Fun(n - 1);
}
int main(void)
{
    double sum = 0, i;
    for(i = 1;i <= 20; i++)
    {
        sum += Fun(i);
    }
    printf("%lf\n",sum);
    return 0;
}