main() { float f=123.456; printf("%e\n%10e\n%10.2e\n%.2e\n%-10.2e\n",f,f,f,f,f); getch(); }

作者&投稿:幸亮 (若有异议请与网页底部的电邮联系)
c语言f=123.456 printf("%e,%10e,%10.2e,%.2e,%-10.2e",f,f,f,f,f);中 结果第二个为什么跟第一个相同~

第一,浮点类型小数位默认为6位,大多数编译器都是这么定了。
第二,当字符实际宽度大于你指定的宽度时,以字符宽度为准。 (其他类型也一样)

我记得.后面的数字是保留的小数位数,而且没有满五进一这么一说,一般就直接保留了,前面是开的空间(我是这么理解的,就是预留的位置),一般不写是有默认值,正负,不太记得了,好像是有负号的代表有符号,没有就代表为默认

%e是按科学计数法的方式输出,
%10e是按科学计数法输出而且基数长度不能超过10,默认右对齐,不够的10位的话左边补空格
%10.2e,其他的和前面的俄一样,至于小数点是基数保留两个有效小数(包括小数点)
%-10.2e 负号表示左对齐,不够的10位的话右边补空格


温州市18233226862: c语言 公式 sin -
依纨肝泰: include "math.h"改为#include "math.h" main()改为void main() 另外,楼主的程序当中还有两个逻辑问题: 一、m在每次循环结束时都为负 二、x2在每次循环后没有更新为1

温州市18233226862: 求教关于 C语言程序设计 的一个简单公式!! -
依纨肝泰: #include"stdio.h" void main() { float F=0; printf("请输入华氏温度:"); scanf("%f",&F); printf("\n对应的摄氏温度是:%.2f\n",5.0/(9*(F-32))); }

温州市18233226862: 以下这段C语言代码输出结果为什么是0 -
依纨肝泰: 因为变量f的类型是float, 所以对应的格式串中应该用%f,这两者必须一致,当这两者不一致时,编译时不会出错,但是输出会是0.相应的,如果你定义了一个整型量i, 而写成printf("%f\n", i); 的话,输出一样会是0,而不管i的值是什么.

温州市18233226862: C语言定义一个求如下表达式的公式 可以求f=1 - 1/2+1/3…… - 1/10 -
依纨肝泰: #include void main() { float f= 0 ; int N = 10;//假设求前10项和 for(int i = 1;i { if(i%2 == 0) { f = f - 1.0/i; } else { f = f + 1.0/i; } } }

温州市18233226862: 若有如下定义float f=123.4567 -
依纨肝泰: #include <stdio.h>int main(){ float f=123.4567;printf("%-8.1f",f); //左对齐:"-" e.g. "%-20s"//右对齐:"+" e.g. "%+20s"}"%m.nf":输出浮点数,m为宽度,n为小数点右边数位,这是右对齐,要左对齐:在m前加个"-"号 e.g. "%3.1f" 输入3852.99 ,右对齐. 输出3853.0

温州市18233226862: C语言中截尾还是进位问题 -
依纨肝泰: 前者截尾,比如5/2结果是2; 第二个不知道你问的什么 如果将float转换为int则截尾 比如 main() { float f=5.75; printf("(int)f=%d,f=%f\n",(int)f,f); } 输出(int)f=5,f=5.75 f虽强制转为int型,但只在运算中起作用, 是临时的,而f本身的类型并不改变.因此,(int)f的值为 5(删去了小数)而f的值仍为5.75. 当数很大是还有溢出的问题,因为float的精度比int大,要是超过int的数值范围会得到错误的数. 如果将int转换为float,貌似不用说了,直接加小数位,也可能出现精度不能完全保留的现象.

温州市18233226862: 编制一个程序包含子函数,该子函数将已知的FLOAT型数组输出. -
依纨肝泰: woid fun(float f) { printf("%f\n",f); } main() { float f=1.234; fun(f); }

温州市18233226862: 强制类型转换求输出结果 -
依纨肝泰: 首先你要明确,printf语句输出列表是按从右往左求值的,也就是说printf这句先执行了将f值按%f输出的功能,而float类型默认的精度是小数点后6位,所以会输出f=5.750000.其次,在进行float到int的强制类型转换时,c采取的措施是向下取整而不是四舍五入,因此f值为5. 最终输出结果:(int)f=5,f=5.750000

温州市18233226862: js 正则表达式 为什么加 -
依纨肝泰: js 正则表达式 为什么加 main(){ float f=5.75; printf("(int)f=%d,f=%f\n",(int)f,f); } 本例表明,f虽强制转为int型,但只在运算中起作用,是临时的,而f本身的类型并不改变.因此,(int)f的值为 5(删去了小数)而f的值仍为5.75.3.8 算术运算符...

温州市18233226862: C语言编程:输入一个华氏温度,要求输出摄氏温度,公式为:c=5(F - 32)/9,谢谢! -
依纨肝泰:[答案] #include main() { float f,c; printf("please enter F:"); scanf("%f", &f); c=5.0*(f-32.0)/9.0 printf("%f",c); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网