问题描述
- C Pirmer plus 中的习题
-
运行环境: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("请输入水的夸脱数 "); 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) 是新增的 十六进制浮点数格式
解决方案二:
http://blog.csdn.net/yxstars/article/details/23848109
解决方案三:
c primer plus第14章习题
《C Primer Plus》第二章 C语言概述 课后习题
C Primer Plus 第九章课后习题……2015.5.1
时间: 2024-09-19 18:26:38