运行环境:VS2013
操作系统:WIN8.1
代码是输入水的夸脱数 输出x夸脱数中有多少水分子
#include<stdio.h>
#include<stdlib.h>
#define G 3.344e22 //1g中水分子的数量
#define K 950 //1夸脱等于950g水分子
// 水分子数量=(x夸脱*K)*G
int main()
{
printf("请输入水的夸脱数\n");
int x = 0;
scanf_s("%d", &x);
long double result;
result =x*K*G; //夸克数 x 950 把夸克化成克 然后 x 1g中水分子的数量
printf("水分子数量为:%G", result);//不知道此处应该用什么合适的输出格式符 %f试过了 没有出错 不过有很多无意义的0 然后我就用%g了
system("pause");
return 0;
}
请各位C前辈 帮忙看一下
1夸克中水分子的数量 程序运行的结果为
:3.1768E+025 printf中的输出控制符为%G
:31767999999999998000000000.000000 printf中的输出控制符为%f
用%G输出的值 它进行了四舍五入的换算 不是准确的值
那么 这道题中的输出控制符 除了用%f可以 还可以用那些呢?
浮点数 有 f,e,g,E,G 的那个输出格式
1.转换说明符
%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)
%c 字符
%d 有符号十进制整数
%f 浮点数(包括float和doulbe)
%e(%E) 浮点数指数输出[e-(E-)记数法]
%g(%G) 浮点数不显无意义的零"0"
%i 有符号十进制整数(与%d相同)
%u 无符号十进制整数
%o 八进制整数 e.g. 0123
%x(%X) 十六进制整数0f(0F) e.g. 0x1234
%p 指针
%s 字符串
%% "%"
%f 浮点数(包括float和doulbe)
%e(%E) 浮点数指数输出[e-(E-)记数法]
%g(%G) 浮点数不显无意义的零"0"
f,e,E,g,G格式,都是十进制浮点数格式
%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99) 是新增的 十六进制浮点数格式