Python123第四章答案(自写,仅供参考)

Python123第四章答案(自写,仅供参考) By:肇院伟烨

前言

1、代码自己写的,不是标准答案,仅供参考。

2。建议看懂后自己另外写而不是复制粘贴。

3、点击目录可以转跳

第四章

第1题

#include <stdio.h>
int main()
{
    int N,i;
    double sum=0,fen=1;
    scanf("%d",&N);
    for (i = 1;i <= N;i++)
    {
        sum=sum+(1.0/fen);
        fen = fen + 2;
    }
   	printf("sum = %.6f", sum);
    return 0;
}

第2题

#include <math.h>
#include <stdio.h>
int main()
{
    int N,i;
    double sum=0;
    scanf("%d",&N);
    for(i=1;i<=N;i++)
    {
    sum=sum+sqrt(i);
    }
    printf("sum = %.2lf",sum);
    return 0;
}

第3题

#include <stdio.h>
int main()
{
    double eps, js,sum=0;
    int i=1,fu=1;
    scanf("%lf",&eps);
    if(eps==1)
    sum=0.75;
    else
    {
    do {
        js = 1.0 / i;
        i += 3;
        sum += fu*js;
        fu = -fu;
        }
        while(js > eps);
    }
    printf("sum = %.6lf", sum);
    return 0;
}

第4题

#include<stdio.h>
int main()
{
    int num, x1=1, x2=1, x=0, count=3;
    scanf("%d", &num);
    if(num==1)
    {
        printf("1");
    }
    else{
        x=x1+x2;
        while(x<num){
            count++;
            x1=x2;
            x2=x;
            x=x1+x2;
        }
        printf("%d", count);
    }
    return 0;
}

第5题

#include <stdio.h>
int main()
{
    int n, i, a, min;
    scanf("%d", &n);
    for ( i = 1; i<= n; i++)
    {
        scanf("%d", &a);
        if (a < min)
            min = a;
    }
    printf("min = %d",min);
    return 0;
}

第6题

#include<stdio.h>
int main()
{
    int n,h,i,a,b,x,y;
    scanf("%d", &n);
    h = (n + 1) / 2;
    x= n - 1;
    y = 1;
    for (i = 1; i <= n; i++)
    {
        if (i < h)
        {
            for (a = 1; a <= x; a++)
                printf(" ");
            for (b = 1; b <= y; b++)
                printf("* ");
            x -= 2;
            y += 2;
            printf("\n");
        }
        else if (i == h)
        {
            for (b = 1; b <= n; b++)
                printf("* ");
            printf("\n");
            x += 2;
            y -= 2;
        }
        else
        {
            for (a = 1; a <= x; a++)
                printf(" ");
            for (b = 1; b <= y; b++)
                printf("* ");
            x += 2;
            y -= 2;
            printf("\n");
        }
    }
    return 0;
}

第7题

#include<stdio.h>
int main()
{
    long long i,n,sum=1;
    scanf("%lld", &n);
    for (i = 1; i <n;i++)
    {
        sum = (sum + 1) * 2;
    }
    printf("%lld", sum);
    return 0;
}

第8题

#include<stdio.h>
int main()
{
    double i,h,n,sum;
    scanf("%lf%lf", &h, &n);
    sum = h;
    for ( i = 1; i <=n-1; i++)
    {
        h /= 2;
        sum += 2 * h;
    }
    printf("%.1lf %.1lf", sum, h/2);
    return 0;
}

第9题

#include <stdio.h>
int main()
{
	int m, n, max, i, gys, gbs;
	scanf("%d%d", &m, &n);
    max=m>n?m:n;
	for (i = 1; i <= max; i++)
	{
		if (m % i == 0 && n % i == 0)
			gys = i;
	}
	for (i = max;;i++)
	{
		if (i % m == 0 && i % n == 0)
		{
			gbs = i;
			break;
		}
	}
	printf("%d %d", gys,gbs);
	return 0;
}

第10题

#include <stdio.h>
#include <math.h>
int js(int n ,int sz);
int main()
{
    int n, i, a, b,result;
    scanf("%d", &n);
        a = pow(10, n - 1);
        b = pow(10, n);
        for (i = a; i < b; i++)
        {
            result = js(n, i);
            if (result == i)
                printf("%d\n", result);
        }
    return 0;
}

int js(int n,int sz)
{
    int j, w, sum = 0;
    for (j = n; j >= 1; j--)
    {
        w = sz % 10;
        sz = sz / 10;
        sum += pow(w,n);
    }
    return sum;
}

第11题

#include<stdio.h>
int main()
{
    int n, c5, c2, c1, cs = 0;
    scanf("%d", &n);
    for (c5 = n / 5; c5 > 0; c5--)
        for (c2 = n / 2; c2 > 0; c2--)
            for (c1 = n; c1 > 0; c1--)
                if (c5 * 5 + c2 * 2 + c1 == n)
                {
                    printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n", c5, c2, c1, c5 + c2 + c1);
                    cs++;
                }
    printf("count = %d", cs);
    return 0;
}

第12题

#include<stdio.h>
#include<math.h>
int main()
{
    int a,n,i,j=0,js,sum=0;
    scanf("%d%d",&a,&n);
    for (i = 1; i<=n; i++)
    {
        for (j = 0; j <= i - 1; j++)
        {
            js = a * pow(10, j);
            sum += js;
        }
    }
    printf("s = %d", sum);
    return 0;
}

第13题

#include<stdio.h>
#include <math.h>
double fact(int n);
int main()
{
    double x,i=0,js=1,n,sum=0;
    scanf("%lf", &x);
    while(js> 0.00001)
    {
        js = pow(x, i) / fact(i);
        sum += js;
        i++;
    }
    printf("%.4lf", sum);
    return 0;
}

double fact(int n)
{
    if (n <= 0)
        return 1;
    else
        return n * fact(n - 1);
}

第14题

#include<stdio.h>
int main()
{
    int n=0,sum = 0;
    while(1)
    {
        scanf("%d", &n);
        if (n <= 0)
            break;
        if (n % 2 != 0)
            sum += n;
    }
    printf("%d", sum);
    return 0;
}

第15题

#include <stdio.h>
int main()
{
    double edg, js,sum=0;
    int i=1,fu=1;
    scanf("%lf",&edg);
    if(edg==1)
    sum=0.75;
    else
    {
    do {
        js = 1.0 / i;
        i += 3;
        sum += fu*js;
        fu = -fu;
        }
        while(js > edg);
    }
    printf("sum = %.6lf", sum);
    return 0;
}

第16题

#include<stdio.h>
int main()
{
    int number, x, n,i=0;
    scanf("%d%d", &number, &n);
    while (1)
    {
        i++;
        scanf("%d", &x);
        if (x< 0||i > n) 
        {
            printf("Game Over\n");
            break;
        }
        if(x < number)
            printf("Too small\n");
        else if(x > number)
            printf("Too big\n");
        else if(x == number)
        {
            if(i==1)
                printf("Bingo!\n");
            else if(i<= 3)
                printf("Lucky You!");
            else
                printf("Good Guess!");
            break;
        }
    }
    return 0;
}

第17题

#include<stdio.h>
int main()
{
    int n,i;
    double s=1.0,a=1;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        a=a*i;
        s=s+1.0/a;
    }
    printf("%.8f",s);
    return 0;
}

第18题

#include <stdio.h>
int main()
{
    int n, i, a, min;
    scanf("%d", &n);
    scanf("%d", &a);
    min=a;
    for ( i = 1; i< n; i++)
    {
        scanf("%d", &a);
        if (a < min)
            min = a;
    }
    printf("min = %d",min);
    return 0;
}

第19题

#include<stdio.h>
int main()
{  
    int m,n,i,x=0,sum=0;
    scanf("%d%d",&m,&n);
    for(;m<=n;m++)
    {
        for(i=2;i<m;i++)
        {
            if(m%i==0)
                break;
        }
        if(i==m)
        {
            x++;
            sum+=m;
        }
    }
    printf("%d %d",x,sum);
    return 0;
}

第20题

#include <stdio.h>
long long fact(int n);
int main()
{
    int i;
    long long sum = 0;
    for (i = 1; i <= 20; i++)
    {
        sum += fact(i);
    }
    printf("%lld", sum);
    return 0;
}

long long fact(int n)
{

    if (n <= 1)
        return 1;
    return n * fact(n - 1);
}

第21题

#include<stdio.h>
int main()
{
    int i;
    double sum = 0;
    for (i = 1; i <= 100; i++)
        sum += i;
    for (i = 1; i <= 50; i++)
        sum += i * i;
    for ( i = 1; i <= 10; i++)
    {
        sum += 1.0 / i;
    }
    printf("%lf", sum);
    return 0;
}

第22题

#include<stdio.h>
#include<math.h>
int main()
{
    double a, x, sum, xn1, xn2;
    scanf("%lf", &a);
    x = sqrt(a);
    do
    {
        xn1 = x;
        x = 1.0 / 2 * (x + a / x);
        xn2 = x;
    } while (xn1 - xn2 > pow(10, -5));
    printf("%lf", xn2);
    return 0;
}

第23题

#include <stdio.h>
int main()
{
	int m, n, max, i, gys, gbs;
	scanf("%d%d", &m, &n);
	if (m < n)
		max = n;
	else
		max = m;
	for (i = 1; i <= m; i++)
	{
		if (m % i == 0 && n % i == 0)
		{
			gys = i;
		}
	}
	for (i = m;; i++)
	{
		if (i % m == 0 && i % n == 0)
		{
			gbs = i;
			break;
		}
	}

	printf("%d %d", gys,gbs);
	return 0;
}

第24题

#include<stdio.h>
int main()
{  
    int m,n,i,x=0,sum=0;
    scanf("%d%d",&m,&n);
    for(;m<=n;m++)
    {
        for(i=2;i<m;i++)
        {
            if(m%i==0)
                break;
        }
        if(i==m)
        {
            x++;
            sum+=m;
        }
    }
    printf("%d %d",x,sum);
    return 0;
}

第25题

#include<stdio.h>
int main()
{
    int n,i=0;
    scanf("%d", &n);
    if (n == 0)
        i = 1;
    while(n!=0)
    {
        n /= 10;
        i++;
    }
    printf("%d", i);
    return 0;
}

第26题

#include <stdio.h>
int main()
{
	int m, n, max, i, gys, gbs;
	scanf("%d%d", &m, &n);
	if (m < n)
		max = n;
	else
		max = m;
	for (i = 1; i <= m; i++)
	{
		if (m % i == 0 && n % i == 0)
		{
			gys = i;
		}
	}
	for (i = m;; i++)
	{
		if (i % m == 0 && i % n == 0)
		{
			gbs = i;
			break;
		}
	}
	printf("%d %d", gys,gbs);
	return 0;
}

第27题

#include <stdio.h>

double fact(int n);
int main()
{
    double edg, js=1,sum=1;
    int i=1;
    scanf("%lf", &edg);
    for(i=1;js>=edg;i++)
    {
        js = 1.0 / fact(i);
        sum += js;
    }
    printf("e = %.10lf",sum);
    return 0;
}
double fact(int n)
{
    if(n<=1)
        return 1;
    return n*fact(n-1);
}

第28题

#include<stdio.h>
int main()
{
    int n=0,sum = 0;
    while(1)
    {
        scanf("%d", &n);
        if (n <= 0)
            break;
        if (n % 2 != 0)
            sum += n;
    }
    printf("%d", sum);
    return 0;
}
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值