一年约有3.165*10^7秒,编写一个程序,要求输入你的年龄,然后显示该年龄约有多少秒

#include<stdio.h>

int main()

{

    int age;

    long double second;

    printf("Please enter your age:\n");

    scanf("%d",&age);

    second=age*(3.156E7);

    printf("your age changed to seconds is %lf%",&second);

    return 0;

}

最后乱码了,但是程序可以编译运行,我该怎么写才可以让范围不溢出??

qq_nanranlanW_0
浏览 2602回答 4
4回答

慕粉13202587281

可以把一年的秒数存在一个字符数组中,然后再把数组从最后一位开始遍历和年龄相乘,不过乘的函数就要自己写了,大概是遇十进一,结果在存在另一个数组中,如果年龄是两位数或三位数的话,乘第二次、第三次的时候结果乘十再加就行

风之将尽

因为你输出的气候加&了,所以输出的是地址

编程之夜

使用超级大的数时,用BigInteger或BigDecimal类型。具体用法看书或百度

眼前的黑不是黑zz

你试下声明为无符号的类型,看下是否可行unsigned long double second;
打开App,查看更多内容
随时随地看视频慕课网APP