解题思路:
优化一下楼上那位,楼上那位使用了floor函数
floor(x),也写做Floor(x),其功能是“向下取整”,或者说“向下舍入”,即取不大于x的最大整数(与“四舍五入”不同,下取整是直接取按照数轴上最接近要求值的左边值,即不大于要求值的最大的那个值)。
在C语言的库函数中,floor函数的语法如下 :
#include <math.h>
double floor( double arg );
功能: 函数返回参数不大于arg的最大整数。例如,
x = 6.04;
y = floor( x );
y的值为6.0.
与floor函数对应的是ceil函数,即上取整函数。
有趣的是,floor在英文中是地板的意思,而ceil是天花板的意思,很形象地描述了下取整和上取整的数学运算。
但我们思考一下,本身结果是一个浮点型的输出,如果我们进行强制类型转换为整形的,不也可以达成这样的功能么?
参考代码:
#include<stdio.h> int main() { int m, y; double l; scanf("%d%lf%d", &m, &l, &y); printf("%.0d\n", (int)((1.0*m/y + m*l)*10000)); return 0; }
我在输出中改为为: printf("%.0d\n", (int)((1.0*m/y + m*l)*10000));
0.0分
6 人评分
int main() { int a = 0,b=0,d=0; float c = 0; scanf("%d%f%d", &a, &c, &b); a = a * 10000; d = (a / b) + (a - b) * c; printf("%d", d); return 0; } 各位大佬 我这么写有什么不对吗? 怎么计算出来后 是33886 差两块钱 。。。
你这个计算不对吧,本金/还款月数+本金*利率??本金/等额本金公式:每月还款额=贷款本金×[月利率×(1+月利率)^还款月数]÷{[(1+月利率)^还款月数]-1}
HRui 2021-11-21 20:57:52 |
感觉0.d就没必要了,输出既然是整数不用强调没有小数了。直接%d结果应该也是对的
printf基础练习2 (C语言代码)浏览:591 |
数组输出 (C语言代码)浏览:767 |
字符串对比 (C语言代码)浏览:1398 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:517 |
C语言考试练习题_保留字母 (C语言代码)浏览:700 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:586 |
1014题解浏览:484 |
有关字符,字符串的输入输出函数说明浏览:478 |
杨辉三角 (C语言代码)浏览:484 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:534 |
Xiaolang 2022-03-10 20:31:01 |
printf("%d", d+2); 我又+2 就对了 。。。