tugouzhishen 2022-10-21 09:16 采纳率: 88.5%
浏览 77
已结题

C语言使用函数单位转换

问题遇到的现象和发生背景

英尺,尺,码,米四种单位,从屏幕上随机输入一种转换为其他三个单位,保留五位小数,并把转换的过程写为函数

用代码块功能插入代码,请勿粘贴截图
我想要达到的结果

英尺,尺,码,米四种单位,从屏幕上随机输入一种转换为其他三个单位,保留五位小数,并把转换的过程写为函数
一尺等于0.333米,一英尺等于0.3048米,一码等于0.9144米

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-10-21 09:42
    关注

    找到单位转换公式就好了啊。但你要明确输入格式啊

    //英尺,尺,码,米四种单位,从屏幕上随机输入一种转换为其他三个单位,保留五位小数,并把转换的过程写为函数
    #include <stdio.h>
    
    void feetTrans(float v)
    {
          printf("%.5f英尺=%.5f尺\n",v*0.9144);
          printf("%.5f英尺=%.5f码\n",v*0.333333);
          printf("%.5f英尺=%.5f米\n",v*0.3048);
    }
    
    void rulerTrans(float v)
    {
          printf("%.5f尺=%.5f英尺\n",v*1.0936133);
          printf("%.5f尺=%.5f码\n",v*0.3645378);
          printf("%.5f尺=%.5f米\n",v*0.333333);
    }
    
    void codeTrans(float v)
    {
          printf("%.5f码=%.5f英尺\n",v*3);
          printf("%.5f码=%.5f尺\n",v*2.7432); 
          printf("%.5f码=%.5f米\n",v*0.9144);
    }
    
    void meterTrans(float v)
    {
          printf("%.5f米=%.5f英尺\n",v*3.2808399);
          printf("%.5f米=%.5f码\n",v*1.0936133);  
          printf("%.5f米=%.5f尺\n",v*3);
    }
    
    void trans(float v,int u)
    {
        switch(u)
        {
            case 1:
              feetTrans(v);
              break;
            case 2:
              rulerTrans(v);
              break;
            case 3:
              codeTrans(v);
              break;
            case 4:
              meterTrans(v);
              break;
        }
    }
    
    int main()
    {
        float v;
        int u; //u=1表示英尺,2表示尺,3表示码,4表示米
        printf("请输入数值和单位(1表示英尺,2表示尺,3表示码,4表示米):");
        scanf("%f%d",&v,&u);
        trans(v,u);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月29日
  • 已采纳回答 10月21日
  • 修改了问题 10月21日
  • 修改了问题 10月21日
  • 展开全部