#include<stdio.h> #include <math.h> int main() { float a; char b; int money = 20; scanf("%f %c", &a, &b); if (a > 0 && a <= 1) { if (b == 'y') printf("25"); else printf("20"); } if (a > 1) { /* ceil函数和float强制转换为int类型的区别: ceil函数计算时与四舍五入无关,这和浮点型强制转换为整型是相同的; 和float强制转换为int类型不同的是:ceil取整返回的是大于等于表达式的最小整数, 而float强制转换int取整返回的是小于等于表达式的最大整数 输入4.6,分别返回的是5和4 */ money = money + ceil(a - 1); if (b == 'y') printf("%d", money + 5); else printf("%d", money); } }
ceil函数和float强制转换为int类型的区别:
ceil函数计算时与四舍五入无关,这和浮点型强制转换为整型是相同的;
和float强制转换为int类型不同的是:ceil取整返回的是大于等于表达式的最小整数,
而float强制转换int取整返回的是小于等于表达式的最大整数
输入4.6,分别返回的是5和4