永发信息网

设计c++程序,求教。

答案:2  悬赏:40  手机版
解决时间 2021-03-15 05:36
  • 提问者网友:心如荒岛囚我终老
  • 2021-03-14 21:10
1、设计函数计算:π/4=1-1/3+1/5-1/7+(-1)n/(2n-1)…;精确到10-5位。
2、输如任意整数n,调用函数sum(int n),完成对该整数n各位数字求和。
3、构建一个能够完成三角形(根据三边求面积)、矩形(根据长宽求面积)、圆(根据半径求面积)面积计算的函数。
4、已知 ,用递归完成该公式。
5、设计两个函数gcd(n,m)和lcm(n,m),分别求两个整数的最大公约数及最小公倍数。
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-03-14 21:29
1. 没看懂,
2.

int sum(int n){
    int su=0;
    while(n!=0){
        su+=(n%10);
        n=n/10;
    }
    return su;
}3.

#define Pai  3.1415926535897932384626433832795
float mj(int xz,int n1,int n2,int n3){
    if(xz==0){//三角形
         float s=1/(2*(n1+n2+n3));
         s=sqrt(s(s-n1)(s-n2)(s-n3));  
         return s; 
    }
    else if(xz==1){//矩形
        return n1*n2;
    }else {
        return Pai*(n1*n1);   
    }
}4.已知什么

5.
int gcd(int n,int m){//公约数
    int min=(n     for(int i=min;i>=1;i--){
        if((m%i==0)&&(n%i==0)){
            return i;
        }
    }
    return 1;
}

int lcm(int n,int m){//公倍数
    int max=(n>m>n:m);
    int min=(n     int zd=max*min;
    for(int i=max;i<=zd;i+=max){
        if((i%min)==0){
            return i;
        }
    }
    return zd;
}
全部回答
  • 1楼网友:长青诗
  • 2021-03-14 21:36
补充1: double quarterOfPI() {   int sign = 1;   double prevResult = 1.0;   double result = 0.0;   int n = 1;   // 每次计算之后都与前一次比较,如果变化小于10位小数就停止   // 如果计算次数过多也停止(如果能证明多少次以后收敛到10位的精度,也可以去掉这个条件)   while(abs(prevResult-result) > 0.0000000001 && n<10000) {       prevResult = result;       result = sign * (2 * n -1); // (-1)^n * (2n-1)       sign = -1 * sign;       n++;   }   return result; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯