‘壹’ c语言问题 编写一个函数,作用是保留两位小数,对第三位四舍五入···
printf是输出把
scanf才是输入
整理如下
#include<stdio.h>
float fun (double);
int main()
{
double a;
float b;
printf("请输入一个浮点数:");
sanf("%f",&a);
b=fun(a);
printf("转换后的浮点数为:%12.2f\n",b);
return 0;
}
float fun (double h)
{
int e=(int)(h*100.0);
e%=10;
if(e>=5)
h+=0.01;
return (h);
}
‘贰’ c语言怎样保留两位小数
C语言怎么保留两位小数,如果不定义的话,那么就会默认不是两位小数,那么需要输出内容保留小数,实际上可以对浮点型进行设置的。
1、首先打开IDE,接着保存main.c文件。
‘叁’ C语言四舍五入保留两位小数
#include
main()
{
double
a;
printf("请输入一个四位小数:\n");
scanf("%lf",&a);//双精度应该是的%lf
a*=100;//
扩大100倍,举个例子:a=123.4567,a=a*100,则a=12345.67
a+=0.5;//加0.5进行四舍五入a=12346.17
a=(int)a;//这个地方是想保留两位小数,后边的舍去,所以进行强制类型转换.
a/=100;//上面扩大100倍,现在要对其缩小100
printf("结果是:%f\n",a);//这样就行了,或者printf("结果是:%.2f\n",a);
}
‘肆’ C语言四舍五入保留两位小数的程序怎么写
#include <stdio.h>
double fun ( float h )
{ return (long)( h * 100 + 0.5 )/ 100.0;
}main( )
{
float a;
printf ("Enter a: "); scanf ( "%f", &a );
printf ( "The original data is : " );
printf ( "%f
", a );
printf ( "The result : %f
", fun ( a ) );
}
‘伍’ c语言,不管是float还是double类型的用%.2f保留2位小数要四舍五入,怎么不让他四舍五入
乘以100-->取整-->除以100.0就能达到题设要求。举例代码如下:
#include"stdio.h"
intmain(intargc,char*argv[]){
doublep=3.1415926;
floate=2.718281f;
printf("p=%.2f(处理前无进位) ",p);//小数点后第3位是1,不进位
printf("p=%.2f(处理后无进位) ",int(p*100)/100.0);//处理后不影响结果
printf("e=%.2f(处理前有进位) ",e);//因为小数点后第3位是8,所以有进位
printf("e=%.2f(处理后无进位了) ",int(e*100)/100.0);//处理后没有进位了
return0;
}
运行结果如下:
‘陆’ 求教c语言float类型数据四舍五入问题如何实现
假设需要在小数点之后两位进行四舍五入,利用整型能截断小数的特点:
float a=3.1415926,b; int c;
b=a; b*=100; //b=314.15926
b+=0.5; //在个位实现四舍五入
c=b; b=c; //利用整型变量赋值截断小数点之后数据c=314,b=314.0
b/=100; //恢复原先小数点位置b=3.14
简单地写是这样:b=(int)(a*100+0.5)/100f;
‘柒’ C语言四舍五入保留两位小数
应该是精度问题。因你使用的是float变量,你可以用printf显示a*100的结果是155.499995而不是155.50000你可以全改成double型#include <stdio.h>
double fun ( double h )
{ return (long)( h * 100 +0.5 )/ 100.0;
}main( )
{ double a;
printf ("Enter a: "); scanf ( "%lf", &a );
printf ( "The original data is : " );
printf ( "%lf %lf\n\n", a, a*100 );
printf ( "The result : %lf\n", fun ( a ) );
}
‘捌’ C语言编程 对变量保留两位小数 并进行四舍五入
int a;
a=h*1000; //扩大1000倍,并转换为int型
if(a%10>=5) a+=10; //若千分位大于等于5,则十分位进1
a/=10; //舍弃千分位后的部分并缩小10倍
return ((float)a)/100; //转换为Float型并缩小100倍
‘玖’ C语言如何实现输出浮点数小数点两位(四舍五入法),但若小数点最后位为零则舍去
要对某个浮点数比如x保留到小数点后两位,可以将x乘以100,变成对这个数进行四舍五入到个位。
double f(double x)
{
double j = (x>=0?1.0:-1.0); //j是符号
return int(abs(x)*100+0.5)/100.0*j; //进行四舍五入,注意考虑正负号
}
‘拾’ 用C语言怎么实现浮点数的四舍五入,保留两位小数点
C语言怎么实现浮点数的四舍五入,保留两位小数的设计过程为:
定义浮点点数变量df,输入浮点数
浮点数df扩大100倍
浮点数df增加0.5
利用floor()函数得到最接近df数,但不大于df的整数(完成四舍五入)。不能用int强制转换,否则,数据超过int范围就会出现错误。
浮点数df缩小100倍得到有两位小数的浮点数
按%.2f输出结果。
参考代码:
#include<stdio.h>
#include<math.h>
voidmain()
{
doubledf=0;
printf("inputd:");scanf("%lf",&df);
df*=100;
df+=0.5;
df=floor(df);
df/=100;
printf("d=%.2f ",df);
}