VincentWang0411 2021-11-26 22:39 采纳率: 28.6%
浏览 46
已结题

c语言用图中公式设计程序,首先输入一个字符,如果不是1到18得整数,则break,如果是,则用图中公式计算e得值到小数点后相应位数

img

  • 写回答

2条回答 默认 最新

  • 关注

    你把刚才给你的diam修改一下循环体就可以了啊,显示部分写成函数了,代码如下:

    #include <stdio.h>
    long long jc(int n)
    {
        long long s = 1;
        int i;
        for(i=1;i<=n;i++)
            s*=i;
        return s;
    }
    double power(int n)
    {
        double s=1.0;
        int i=0;
        for(;i<n;i++)
            s/=10;
        return s;
    }
    
    void printlongf(double e,int k)
    {
        switch(k)
        {
        case 1:
            printf("%.1lf",e);break;
        case 2:
            printf("%.2lf",e);break;
        case 3:
            printf("%.3lf",e);break;
        case 4:
            printf("%.4lf",e);break;
        case 5:
            printf("%.5lf",e);break;
        case 6:
            printf("%.6lf",e);break;
        case 7:
            printf("%.7lf",e);break;
        case 8:
            printf("%.8lf",e);break;
        case 9:
            printf("%.9lf",e);break;
        case 10:
            printf("%.10lf",e);break;
        case 11:
            printf("%.11lf",e);break;
        case 12:
            printf("%.12lf",e);break;
        case 13:
            printf("%.13lf",e);break;
        case 14:
            printf("%.14lf",e);break;
        case 15:
            printf("%.15lf",e);break;
        case 16:
            printf("%.16lf",e);break;
        case 17:
            printf("%.17lf",e);break;
        case 18:
            printf("%.18lf",e);break;
        }
    }
    
    int main()
    {
        double e=0;
        double r2=1,ex;
        int k;
        char c ;
        while(1)
        {
            c = getchar();
            if(c>=1 && c<=18)
                break;
        }
        ex = power((int)c)/2;
        k = 0;
        while(1)
        {
            r2 = (double)(9*k*k+1)/jc(3*k);
            if(r2 < ex )
                break;
            e += r2;
            k++;
        }
        
        printlongf(e,(int)c);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 创建了问题 11月26日

悬赏问题

  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。