c语言 怎样使计算是整数输出整数是小数输出两位小数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 怎样使计算是整数输出整数是小数输出两位小数相关的知识,希望对你有一定的参考价值。

好像 如果c=5-3 则输出2 如果c=-5/3 则输出-1.67

都用float型的,得到的答案为 *.**
当小数点十分位、百分位都是0的时候,看成是整型,限制输出格式为只输出整数部分。
当小数点十分位、百分位都不是0的时候,限制输出格式为 *.**

比如:5-3=2.00 输出2
5/3 =1.67 输出1.67追问

可以具体编个程序看看吗?新手不是很懂,谢谢了

追答

咕~~(╯﹏╰)b 我比较懒。。。。把小数部分用数组存起来,if判断是不是0

参考技术A 把c付给字符串,再输出字符串可以。 参考技术B 把5改成5.00或是3改成3.00,还可以在printf("%这里设置你要精确的位数"); 参考技术C 不能实现

怎样在c语言除法中保留小数点?

下面的C语言程序怎么样改动,才能使除法有小数,我是新手,作业!!!求大神指导

#include <stdio.h>

int main()

float c;//首先要把你要求的数定义成浮点型,通俗的讲就是float和double就是小数型; 

int a=5,b=3;//int整数型,它自动把小数去掉; 

c=1.0*a/b;//最重要的是要乘以1.0; 

printf("%.2f",c);//%.2f;%后面的是点(.)几,就保留几位小数; 

return 0;

希望能帮到你,望采纳;

参考技术A 两个整数的加减乘的结果都是整数,用"%d"格式输出没有问题,但当是除法运算时,若不能整除,所得的商必然是浮点数,这是用"%d"输出时,结果就是零,可以这样改进你的代码:
printf(".2lf\n",1.0*a/b);//.2是告诉系统只输出2位小数,第三位四舍五入,lf是说用浮点格式输出,1.0*a是说,先将a转换为浮点数再进行运算。
参考技术B 怎样在c语言除法中保留小数点?
将最后一行printf("shang:%d\n",a/b);改为printf("shang:%f\n",a/b);
作为输出的格式化符%f,它还具有指定输出多少位小数的功能,如%0.2f保留两位小数。
具体可以自行百度C语言格式化符。
参考技术C 第三位四舍五入,lf是说用浮点格式输出,1.0*a是说,先将a转换为浮点数再进行运算。 参考技术D printf("%f\n", (double)a/b);

以上是关于c语言 怎样使计算是整数输出整数是小数输出两位小数的主要内容,如果未能解决你的问题,请参考以下文章

c语言怎样保留两位小数?

c语言如何让输出结果精确到两位小数

c中如何使输出的值小数点后最末位0舍去?

java 两个整数相除 结果为一位小数

c语言中保留两位小数如何写?

C语言如何实现输出浮点数小数点两位(四舍五入法),但若小数点最后位为零则舍去??