-4

由数组元素引起的整数除法返回 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}};

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

4

2 回答 2

3

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

array[6][i] = (int) (100 * ((float)array[5][i] / (float)total));
于 2012-11-07T21:42:58.893 回答
2

这将始终返回 0。

如果您使用整数,然后除以总数,结果将小于 1 并截断为 0(因为结果必须是整数)。

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

于 2012-11-07T21:42:37.100 回答