爱吃山楂 2021-09-22 22:02 采纳率: 57.1%
浏览 40
已结题

勾着的这三个题用C语言怎么写啊

上了几个星期课,感觉啥没学会,老师就让写代码了,感觉前途无望了。

img

  • 写回答

1条回答 默认 最新

  • ⁽⁽ଘ晴空万里ଓ⁾⁾ 嵌入式领域新星创作者 2021-09-23 08:52
    关注

    我先回答第3题吧

    #include <stdio.h>
    
    int main()
    {
        int num,i;
        int bit = 1;        //至少是一位数
        int arr[32];
        char *eng[10]={"zero","one","two","three","four","five","six","seven","eight","nine"};
        char *str = NULL;  //用来输出英文
        scanf("%d",&num);
        //判断这个数是几位数
        int tmp = num;
        while(tmp /= 10)
        {
            bit++;
        }
        //取出各个位的数字
        tmp = bit;
        for(i=0;i<bit;i++)
        {
            arr[i]=num%10; //用数组存放各个位的数字
            num /= 10;
        }
        //打印结果
        for(i=0;i<bit;i++)
        {
            str = eng[arr[i]];
            printf("%s ",str);
        }
        printf("\n");
    
        return 0;
    }
    
    
    

    第1问解答如下:

    #include <stdio.h>
    
    int main()
    {
        int i,result = 0;
        printf("输入i的值:");
        scanf("%d",&i);
        if(i<=5)
        {
            while(i)
            {
                result += i;
                i--;
            }
            printf("i<5,result = %d\n",result);
        }
    
        else if(i>5 && i<=10)
        {  //假设i = 6时
            //result = 100-(i-0)-(i-1)-(i-2)-(i-3)-(i-4)-(i-5) = 79;
            result = 100;
            while(i)
            {
                result -= i;
                i--;
            }
            printf("5<i<=10,result = %d\n",result);
    
        }
        else
        {
            result = i*i;
            printf("i>10,result = %d\n",result);
        }
        return 0;
    }
    
    
    

    第2问解答如下:

    #include <stdio.h>
    #include <math.h>
    int fact(int n);  //阶乘函数声明
    
    int main()
    {
        float x,ex;
        int n;
        printf("请输入x和n的值:");
        scanf("%f%d",&x,&n);
        //假设x = 3.0,n = 2;
        //e^3 = 3^0/0! + 3^1/1! + 3.0^2/2!=1+3+4.5 = 8.5
        do
        {
            ex += pow(x,n)/fact(n);
    
        }while(n--);
    
        printf("ex = %f\n",ex);
        return 0;
    }
    //阶乘函数定义
    int fact(int n)
    {
        if(n==0||n==1)
        {
            return 1;
        }
        else
        {
            return n*fact(n-1);
        }
        return 0;  // 输入有误
    }
    

    敲码不易,望采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月1日
  • 已采纳回答 9月23日
  • 创建了问题 9月22日

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c