C语言-牛客-实现四舍五入

欢迎来到Harper.Lee 的学习小世界!

博主主页传送门:Harper.Lee的博客主页

想要一起进步的uu欢迎来后台找我哦!

本篇博客总结C语言刷题的相关笔记~~~~

#牛客--实现四舍五入

题目描述:随机输入浮点数,输出四舍五入后的整数。

法一:使用库函数round

在C++中,round()函数是标准库中的一个函数,用于对浮点数进行四舍五入。round()函数将返回最接近参数x的整数。如果x正好在两个整数中间,则向远离零的整数方向取整。

函数原型:

cpp 复制代码
double round(double x);

代码如下:

c 复制代码
int main()//法一
{
    //使用四舍五入函数round()
    float d1 = 0.0;
    scanf("%f", &d1);
    int d = round(d1);
    printf("%d3", d);
}

法二:利用取整规则

C语言直接取整是不能实现四舍五入的,但我们可以利用此法来间接实现四舍五入

代码如下:

c 复制代码
int main()//法二:利用取整规则
{
	double f;
	scanf("%lf", &f);
	if (f > 0.0)//正数的情况
		printf("四舍五入后的结果:%d\n", (int)(f + 0.5));
	else//负数的情况
		printf("%d", (int)(f - 0.5));
	return 0;
}
//总结:将一位小数四舍五入的方法:(int)(浮点数+0.5);

总结:将一位小数四舍五入的方法:(int)(浮点数+0.5)

法三:<<左移操作符

**cin输入流赋值给d,d+/-0.5后强制类型转换为int类型,得到的解释四舍五入后的结果。 **

代码如下(cpp):

cpp 复制代码
int main() {
    int a, b;
    double d;
    cin >> d;//cin是输入流,从输入流里面拿到数据,赋值给d(c++的语法)
    // write your code here......
    if (d > 0)
        cout << (int)(d + 0.5);
    else
        cout << (int)(d - 0.5);
    return 0;
}

游戏编程常用方法:正数浮点数+0.5(负数浮点数-0.5后)后强制类型转换相当于四舍五入。

法四:利用占位符

c 复制代码
//法四:利用占位符
int main() {
    float f;
    scanf("%f", &f);
    printf("%.f", f);
    return 0;
}

喜欢的uu记得点个赞支持一下哦~~

相关推荐
jackson凌5 分钟前
【Java学习笔记】【第一阶段项目实践】房屋出租系统(面向对象版本)
java·笔记·学习
艾米莉亚糖6 分钟前
解决qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
开发语言·qt·ssl
她说彩礼65万22 分钟前
C# 中的锁
开发语言·c#
2302_8097983223 分钟前
【JavaWeb】JDBC
java·开发语言·servlet
ShineSpark39 分钟前
C++面试2——C与C++的关系
c语言·c++·面试
繁依Fanyi42 分钟前
ImgShrink:摄影暗房里的在线图片压缩工具开发记
开发语言·前端·codebuddy首席试玩官
卓律涤1 小时前
【找工作系列①】【大四毕业】【复习】巩固JavaScript,了解ES6。
开发语言·前端·javascript·笔记·程序人生·职场和发展·es6
xqlily1 小时前
MATLAB安装常见问题解决方案
开发语言·matlab
achene_ql1 小时前
基于QT和FFmpeg实现自己的视频播放器FFMediaPlayer(一)——项目总览
开发语言·qt·ffmpeg
MeyrlNotFound1 小时前
(二十一)Java集合框架源码深度解析
java·开发语言