整数除法在C中返回0

时间:2012-11-07 21:37:46

标签: c arrays division

由数组元素引起的整数除法返回0,我应该将%存储在同一个数组中....

array[6][i]=array[5][i]/total;

这存储了一个0 ...我认为它与数组是一个整数数组有关...所以我做了一个演员......

array[6][i]=(int)(array[5][i]/total); 

仍然存储0 ...我读过我必须将它们转换为浮点但是转换不起作用...我试过这个

array[6][i]=(int)((float)array[5][i]/(float)total); 

数组声明

int arreglo[7][5]={{1,194,48,206,45},{2,180,20,320,16},{3,221,90,140,20},{4,432,50,821,14},{5,820,61,946,18},{0,0,0,0,0},{0,0,0,0,0}};

,最后一个将存储每个百分比

2 个答案:

答案 0 :(得分:3)

如果你想要一个百分比,那么你要找的是

array[6][i] = (int) (100 * ((float)array[5][i] / (float)total));

答案 1 :(得分:2)

这将始终返回0.

如果使用整数,并除以总数,则结果将为< 1并截断为0(结果必须为整数)。

您必须使用双精度(或浮点数)数组,或者将整数缩放例如100(不是总数)