关于#c语言#的问题:能不能用定义长整型数的方法写出来哎

img


这个题目可以用字符串写出来,能不能用定义长整型数的方法写出来哎

可以,甚至不需要long long

#include "stdio.h"

char* solution(int dig)
{
    switch (dig)
    {
    case 5: 
        return "wan";
    case 6:
        return "shi wan";
    case 7:
        return "bai wan";
    case 8:
        return "qian wan";
    case 9:
        return "yi";
    case 10:
        return "shi yi";
    default:
        return "0";
        break;
    }
}

int main()
{
    int num = 0,dig = 0;
    scanf("%d", &num);
    while (num)
    {
        num /= 10;
        dig += 1;
    }
    printf("%s", solution(dig));
}


int main()
{
    char han[][10] = {"wan", "shi wan", "bai wan", "qian wan", "yi", "shi yi"};
    long num;
    int count = 0;
    scanf("%ld", &num);
    while (num > 0)
    {
        num /= 10;
        count++;
    }
    if (count >= 5 && count <= 10)
        printf("%s\n", han[count - 5]);

    return 0;
}

供参考:

#include <stdio.h>
#include <string.h>
int main()
{
    char* h[6] = { "wan","shi wan","bai wan","qian wan","yi","shi yi" }, d[11];
    do {
        scanf("%s", d);
    } while (strlen(d) < 5 || strlen(d) > 10);
    printf("%s", h[(strlen(d) + 1) % 6]);
    return 0;
}

可以看下 c参考手册中的 c语言-函数定义