圆的周长和面积 计算前n项的和

发布时间 2023-11-20 21:33:55作者: 鸢凛

7-3 圆的周长和面积

请编写程序,输入圆的半径 r,计算并输出三角形的周长 p 和面积 a。

输入格式:

r

输出格式:

p  a

输入样例:

2.8

输出样例:

17.5929 24.6301

要求:输出 4 位小数(末位四舍五入)。

解题思路:

  1.根据读入的半径,通过圆的求周长和面积公式进行计算

  2.一开始π的值我设置为3.1415926,但是后面两个测试点一直通过不了,以为是四舍五入的问题,但是修改后测试点依然无法通过,于是考虑到是否是π的值的问题,将其设置为3.14159265358979后测试点通过

  3.四舍五入的方法:(保留四位小数)

    (1)area = (int) (area*10000.0+0.5)/10000.0;

    (2)引入math.h,使用round方法,如下

#include<stdio.h>
#include <math.h>
int main() {
    double r;
    double length = 0;
    double area = 0;
    scanf("%lf",&r);
    area = 3.14159265358979*r*r;
    length = 2*3.14159265358979*r;
    area = round(area*10000.0)/10000.0;
    length = round(length*10000.0)/10000.0;
    printf("%.4f %.4f",length,area);
    return 0;
}

7-4 计算前n项的和。

编程计算image.png,其中n的值在程序运行时由键盘输入。

输入格式:

输入一个正整数。

输出格式:

输出一个浮点数。

输入样例:

在这里给出一组输入。例如:

10

输出样例:

在这里给出相应的输出。例如:

0.841471

解题思路:

  1.通过观察算式,可以发现该式在n为奇数时为+,在n为偶数时为-,这一点可以通过-1的n-1次方实现,也就是pow(-1,n-1)

  2.同时,可以发现分母是由(2n-1)!组成,可以通过循环算出(2n-1)!的结果,再用1/(2n-1)!,得到部分结果

  3.因为该算式是进行到n,所以for循环的条件为for(int i=1;i<=n;i++)

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