我的C语言算法练习:第11题 - 第14题

导读

接着我的C语言算法练习:第6题 - 第10题

第十一题:

求任意两个数的最大公约数。

程序:

#include
main()
{
    int a, b, m, n, q;
    printf("\n请输入正整数:\n");
    scanf("%d %d", &m, &n);
    a=m;
    b=n;
    if(a>b)
    {
        int z;
        z=a;
        a=b;
        b=z;
    }
    do
    {
        q=b%a;
        b=a;
        a=q;
    }
    while(q!=0);
    printf("\n这两个数的最大公约数是:%d\n", b);
}

运行:

图片.png

第十二题:

利用循环语句求1-1/2+1/3-1/7+..+1/(2n-1)(直到第10项的和)。

程序:

#include
main()
{
    int i, t=1;
    float s=1, p=0, n=1;
    for(i=1; i<=10; i++)
    {
        printf("%2d/%f\n", t, n);
        p=p+s;
        n=n+2;
        t=-t;
        s=t/n;
    }
    printf("\n10项的和是:%f\n", p);
} 

运行:

图片.png

第十三题:

编写函数,求级数S=1+2+3+..+n,并在主函数中求:y=[(1+2+3)+(1+2+3+4)+(1+2+3+4+5)]/[(1+2+3+4+5+6)+(1+2+3+4+5+6+7)]。

程序:

#include

int fun(int);

int main()
{
    float s;
    s=float(fun(3)+fun(4)+fun(5))/(fun(6)+fun(7));
    printf("%lf + %lf + %lf\n", float(fun(3)), float(fun(4)), float(fun(5)));
    printf("---------------------------------\n");
    printf("%lf + %lf\n\n", float(fun(6)), float(fun(7)));
    printf("SUM=%f\n", s);
    
} 

// sum=0.484375

int fun(int a)
{
    int sum=0; 
    int i;
    for(i=1; i<=a; i++)
    {
        sum=sum+i;
    }
    return sum;
}

运行:

图片.png

第十四题:

编写函数求:

公式

程序:

#include
int main()
{
    int x, y=0, n, i;
    for(n=1; n<=5; n++)
    {
        x=1;
        for(i=1; i<=n; i++)
        {
            x=x*i;
            y=y+x;
        }
        printf("%d的阶乘结果是:%d, 累和是:%d\n", n, x, y);
    }
    printf("%d\n", y);
}

运行:

图片.png

你可能感兴趣的:(我的C语言算法练习:第11题 - 第14题)