count=(int)(((double)sumtime/sum)+0.5)和count=(sumtime%sum)?(
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/14 14:03:30
count=(int)(((double)sumtime/sum)+0.5)和count=(sumtime%sum)?(sumtime/sum+1):(sumtime/sum)有什么区别
要四舍五入,用第二个方法报错;sumtime和sum,count为int型;
能不能举个例子?
主要是问这2中写法的区别
要四舍五入,用第二个方法报错;sumtime和sum,count为int型;
能不能举个例子?
主要是问这2中写法的区别
count=(int)(((double)sumtime/sum)+0.5); //这个是四舍五入法
count=(sumtime%sum)?(sumtime/sum+1):(sumtime/sum)//这个是进1取整法
分析如下:
count=(int)(((double)sumtime/sum)+0.5);
(double)sumtime加(double)是将int型转为double型,这是因为两个int型相除会舍弃小数位(如:1/2=0),转为double形后就会保留小数位.(int)的将用是将最后的结果转为int型,也就是要把小数位
去掉.举例如下:
假如; sumtime = 3 sum= 5; 按数学上的话,3/5=0.6,四舍五入后就是1,但在程序上,单纯的3/5却是等于0,因此要转型.
(double)sumtime/sum = 0.6 > 0.5; 四舍五入后应该为1,
所以((double)sumtime/sum)+0.5,加0.5后就等于1.1了,这时再用
(int)(((double)sumtime/sum)+0.5),就要以将小数位去掉,最后为1.
再举例:如果sumtime=1,sum=4;
(double)sumtime/sum = 0.25 < 0.5; 四舍五入后应该为0
((double)sumtime/sum)+0.5,加0.5后就等于0.75依然不会超过1
所以(int)(((double)sumtime/sum)+0.5),将小数位去掉后,最后为0.
count=(sumtime%sum)?(sumtime/sum+1):(sumtime/sum)//这个是进1取整法
直接举例说明:
假如; sumtime = 3 sum= 5; 原本数学上的结果为0.6
(sumtime%sum)=3//这里是求余
所以条件为真,执行(sumtime/sum+1) 这时sumtime/sum = 0(注意这里,这里没有转型,所以小数位会自动丢掉),所以 (sumtime/sum+1)结果为1
同样:假如;sumtime = 5 sum= 4; 原本数学上的结果为1.25
(sumtime%sum)=1//这里是求余
所以条件为真,执行(sumtime/sum+1) 这时sumtime/sum = 1(注意这里,这里没有转型,所以小数位会自动丢掉),所以 (sumtime/sum+1)结果为2
可以看出它的作用就是进1取整
打了这么多,希望对你有用吧
count=(sumtime%sum)?(sumtime/sum+1):(sumtime/sum)//这个是进1取整法
分析如下:
count=(int)(((double)sumtime/sum)+0.5);
(double)sumtime加(double)是将int型转为double型,这是因为两个int型相除会舍弃小数位(如:1/2=0),转为double形后就会保留小数位.(int)的将用是将最后的结果转为int型,也就是要把小数位
去掉.举例如下:
假如; sumtime = 3 sum= 5; 按数学上的话,3/5=0.6,四舍五入后就是1,但在程序上,单纯的3/5却是等于0,因此要转型.
(double)sumtime/sum = 0.6 > 0.5; 四舍五入后应该为1,
所以((double)sumtime/sum)+0.5,加0.5后就等于1.1了,这时再用
(int)(((double)sumtime/sum)+0.5),就要以将小数位去掉,最后为1.
再举例:如果sumtime=1,sum=4;
(double)sumtime/sum = 0.25 < 0.5; 四舍五入后应该为0
((double)sumtime/sum)+0.5,加0.5后就等于0.75依然不会超过1
所以(int)(((double)sumtime/sum)+0.5),将小数位去掉后,最后为0.
count=(sumtime%sum)?(sumtime/sum+1):(sumtime/sum)//这个是进1取整法
直接举例说明:
假如; sumtime = 3 sum= 5; 原本数学上的结果为0.6
(sumtime%sum)=3//这里是求余
所以条件为真,执行(sumtime/sum+1) 这时sumtime/sum = 0(注意这里,这里没有转型,所以小数位会自动丢掉),所以 (sumtime/sum+1)结果为1
同样:假如;sumtime = 5 sum= 4; 原本数学上的结果为1.25
(sumtime%sum)=1//这里是求余
所以条件为真,执行(sumtime/sum+1) 这时sumtime/sum = 1(注意这里,这里没有转型,所以小数位会自动丢掉),所以 (sumtime/sum+1)结果为2
可以看出它的作用就是进1取整
打了这么多,希望对你有用吧
count=(int)(((double)sumtime/sum)+0.5)和count=(sumtime%sum)?(
#include main( ) { int k,sum=0 int count=0 for(k=1;k
C语言一道题目int count = 3;int main() {int i,sum = 0; for(i = 0,su
average.sum.count.
count函数和sum的区别
sum += 1.0/(double)
公式:=IF(ISERROR(SUM(D3:D7)/(COUNT(D3:D7)*10)),"N/A",SUM(D3:D7
double sum=0 与double sum=0.0
do count++,sum += in % 10,in /= 10; while(in); 中while(in)是什么
=(SUM(A1:A10)-MAX(A1:A10)-MIN(A1:A10))/(COUNT(A1:A10)-2)是什么意
count+=count++是什么意思?
int count=0; for (int i = 0; i < 10; i++) { count=count++; }