首页 > 上下取整
头像 牛客837785038号
发表于 2020-02-19 11:11:22
向上取整和向下取整:我一开始以为向下直接(int)x、向上就是(int)x+1,但提交后我才发现数据不能完全通过,我又仔细想想,正数用这两个应该没问题(例如 3.5就是 3和4),那就是负数出了问题,果不其然我将-3.5代入其中答案分别是-3和-2,但实际答案应该为-4和-3. 一百度才知道有专门的 展开全文
头像 张田懿
发表于 2020-12-12 12:54:38
include<bits/stdc++.h> using namespace std;int main(){ double a; int b,c; cin>>a; b=floor (a); c=ceil (a); cout<<b 展开全文
头像 梦边城
发表于 2022-01-20 12:46:07
受到楼一大佬的启发,考虑到题目中说a>=0,故应该不是负数引起的wa。 再看原来的代码 向下取整为: int(a); 向上取整为 int(a)+1; 乍一看没啥问题,就是把浮点数转换成int,那么就自动舍弃了小数位。 但是这仅仅针对了小数来说,如果题目给的数本身就是个整数那么这样就出大问题 展开全文
头像 潍坊鲨鱼公园儿童大学
发表于 2021-01-23 08:47:19
头文件:#include <cmath>double floor (double x); 向下取证double ceil (double x); 向上取证 </cmath> #include <cmath> #include <iostream> 展开全文
头像 Roland1994
发表于 2020-03-18 19:43:41
#include<stdio.h> #include<math.h> int main() { float a; scanf("%f",&a); printf("%d\n%d",(int)a,(int)ceil(a)); return 展开全文
头像 已注销
发表于 2021-02-02 15:05:22
#include<stdio.h> int main(){ float a; scanf("%f",&a); printf("%d\n%d",(int)(a),(int)ceil(a)); } 没啥好说的,反正就是注意ceil()函数吧
头像 天元之弈
发表于 2022-01-16 13:45:54
传送门->https://ac.nowcoder.com/acm/problem/22001 my blog->https://blog.nowcoder.net/yanhaoyang2106 题目描述 任意给出一个小数,编程求不小于它的最小整数与不大于它的最大整数。 即求出这个小数往下 展开全文
头像 嘉元
发表于 2022-04-09 14:47:51
import java.lang.Math; public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); double a 展开全文
头像 牛客260616109号
发表于 2022-03-21 11:48:26
#include<iostream> using namespace std; int main(){ double a; cin>>a; cout<<int(a)<<endl; cout<< int(a 展开全文
头像 易烊千玺圈外女友
发表于 2021-05-14 19:47:09
利用floor函数和ceil函数,分别向下取整和向上取整(但是需要用到题目没有的知识) #include <stdio.h> #include <math.h> int main() { float a; double b,c; scanf("%f", 展开全文