一年大约有3.156×10的7次方秒 ,编写一个程序 提示用户输入年龄 ,然后显示该年龄对应的秒数 。

#include

int main()
{
double age, x;
age = x * 3.156e+7;
printf("Enter you age: ");
scanf_s("%e", x);
printf("你活了 %e 秒", age);
return 0;
}

先读取x
scanf_s("%e", x);
再计算
age = x * 3.156e+7;
x 变量是double类型,是双精度的。scanf_s中应该是"%le",加l表示双精度,并且x前面要加&取变量地址。

你题目的解答代码如下:

#include<stdio.h>
int main()
{
    double age, x;
    printf("Enter you age: ");
    scanf_s("%le", &x);
    age = x * 3.156e+7;
    printf("你活了 %le 秒", age);
    return 0;
}

img

如有帮助,望采纳!谢谢!

如果提交到网上,需要注意输入输出格式问题
代码修改如下:

#include<stdio>
int main()
{
double age, x;
printf("Enter you age: ");
scanf_s("%e", x);
age = x * 3.156e+7;
printf("你活了 %e 秒", age);
return 0;
}

不知道那里有问题,求教…

age = x * 3.156e+7;这一句,应该放在 scanf_s("%e", x);下面
scanf_s("%e", x);改成scanf_s("%e", &x);
完整代码如下:

#include<stdio.h>
int main()
{
    double age, x;
    printf("Enter you age: ");
    scanf_s("%e", &x);
    age = x * 3.156e+7;
    printf("你活了 %e 秒", age);
    return 0;
}