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

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

img

我先回答第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;  // 输入有误
}

敲码不易,望采纳!