floor()函数与ceil()函数 continue的使用

floor(x) 其功能是“向下取整”,或者说“向下舍入”,即取不大于x的最大整数(与“四舍五入”不同,下取整是直接去掉小数部分)
floor(n)对n向负方向舍入
​floor(3.14) = 3.0
floor(9.999999) = 9.0
floor(-3.14) = -4.0
floor(-9.999999) = -10
floor(3.5)=3;
floor(-3.2)=-4

语法:FLOOR(number,significance)

将参数Number沿绝对值减小的方向去尾舍入,使其等于最接近的significance的倍数

如果A1=22.5,则公式”=FLOOR(A1,1)” 结果就是22,22最接近1的倍数

如果A1=22.5,则公式”=FLOOR(A1,3)” 结果就是21,21最接近3的倍数

如果A1=25.8,则公式”=FLOOR(A1,3)” 结果就是24,24最接近3的倍数

double ceil(double x) ; 返回大于或者等于指定表达式的最小整数

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
    for(int a=1;a<=9;a++)
     for(int b=0;b<=9;b++)
     {
        int n=a*1100+b*11;
        int m=floor(sqrt(n)+0.5);
        //假设经过大量的计算后,由于误差的影响,整数1变成了0.9999999999,floor的结果会是0而不是1。
        所以,为了减少误差,就改成四舍五入,即:floor(x+0.5)
        if(m*m==n)  printf("%d\n",n);
     }
    return 0;
}

continue:
continue是指跳回for循环的开始,执行调整语句并判断循环条件(即,直接进行下一次循环),而break是指直接跳出循环
在双层循环中,

for(i=1;i<10;i++)
{
    for(j=1;j<7;j++)
      if(j==5)
      {
        continue;
      }
}

continue 和 break的区别就是 continue只跳过当前循环 j==5时执行到continue; j=6时还会继续执行
如果是break的话,就会直接跳过内层for循环,开始下一次外层的循环。

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
   for(int x=1; ;x++)
   {
     int n=x*x;
     if(n<1000) continue;
     if(n>9999) break;
     int hi=n/100;
     int lo=n%100;
     if(hi/10 == hi%10 && lo/10 == lo%10)
     printf("%d\n",n); 
   }
    return 0;
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值