04.floor函数取整时的注意点

RT 传送门

如下代码,我在编译器上测试答案没错,可一递交结果为wa

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    int R,Y;
    double M;
    cin>>R>>M>>Y;
    double r = R*0.01 + 1;
    for(int i = 0; i < Y; i++){
        M *= r;
    }
    cout<<floor(M);
}

于是,我去看了floor函数,它是一个double类型的函数,而题目要求结果为整形,此时进行一个强制类型变换即可ac.

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    int R,Y;
    double M;
    cin>>R>>M>>Y;
    double r = R*0.01 + 1;
    for(int i = 0; i < Y; i++){
        M *= r;
    }
    cout<<(int)floor(M);
}

总结:当调用函数时,需注意函数的类型,如此题,floor函数为double类型,答案要整形

上一篇:自测-1 打印沙漏


下一篇:mysql的floor()报错注入方法详细分析