#include<stdio.h>
main()
{
int i,t[50];
long int m;
double n;
char num[10][3]={"零","壹","贰","叁","肆","伍","陆","柒","

展开全部
收起
5回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 肆无忌惮

    18人对此回答表示赞同

    超过1亿后n*=100;要超过n的上限了,这个不能这么做的,只能字符串读入,然后把每个数弄到数组里,后面的是一样的了
    展开
    18
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Jackson李南

    16人对此回答表示赞同

    n=100*n;
    m=(int)n;
    如果n*100的值超过了int类型能表示的最大值则就会出错了,呵呵,建议用long试试,能表示略微大些的数,若要表示天文数字,就用char num[100]吧,祝好运。
    展开
    16
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Eleanor

    12人对此回答表示赞同

    for(--i;i>=0;i--)
    {
    if(t[i]!=0)
    {
    printf("%s",num[t[i]]);
    printf("%s",unit[i]);
    }
    if(i==2||i==6||i==10)
    printf("%s",unit[i]);
    }
    printf("整&#
    展开
    12
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 神庙逃亡者

    11人对此回答表示赞同

    哥哥,你的机器是多少位的?
    scanf("%lf",&n);
    n=100*n;
    这里n很大的话, n * 100会溢出的.
    然后 m=(int)n;
    所以m的值也就不准确.
    展开
    11
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 空空如也

    4人对此回答表示赞同

    简单说就是数据太大溢出了,你把数据类型换成__int64型的就没事了。
    但__int64也是有界限的——2的63次方。
    更好的办法是做成链表这种动态的。技术上就更上一层楼了
    ....
    long int m;//把这改了,改成__int64 m;
    double n;
    char num[10][3]={"零","壹","贰","叁","肆",&qu
    展开
    4
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部