当前位置: 首页 > 面试题库 >

两个整数的百分比?

周通
2023-03-14
问题内容

我想要两个整数,一个除以另一个以获得小数或百分比。如何获得这两个整数的百分比或小数?(例如,我不确定是否正确。我可能离…):

int correct = 25;
int questionNum = 100;
float percent = correct/questionNum *100;

这就是我以为自己可以做到的方式,但是它没有用…我想将小数(如果有的话)设为100的百分数,例如,在这种情况下为%25。有任何想法吗?

这是正确的代码(感谢Salvatore Previti!):

float correct = 25;
float questionNum = 100;
float percent = (correct * 100.0f) / questionNum;

(顺便说一句,我正在使用此项目进行测验程序,这就是为什么我需要百分比或小数的原因)


问题答案:

如果不加.0f,它将被视为整数,整数除法与浮点除法的确有很大不同:)

float percent = (n * 100.0f) / v;

如果您需要一个整数,则可以将floatdouble再次强制转换为整数。

int percent = (int)((n * 100.0f) / v);

如果知道n值小于21474836(即(2 ^ 31/100)),则可以使用整数运算来完成所有操作。

int percent = (n * 100) / v;

如果得到NaN是因为您全力以赴,那么您当然不能除以零……这是没有道理的。



 类似资料:
  • 但是,我从geeksforgeeks中找到了另一个解决方案,它只使用对数除法来确定值是否可以用两个整数的幂表示。 谁能给我解释一下上面的对数解吗?提前谢了。

  • 我有包含行的表 我想拥有大于且相反的行的百分比。 如果有人知道什么是错误,谢谢! [错误代码:-206,SQL状态:42703]DB2 SQL错误:sqlcode=-206,sqlstate=42703,sqlerrmc=helptable.total,driver=3.57.82)

  • 整数n的划分是将n写成正整数和的一种方式。对于 例如,对于n=7,一个分区是1 1 5。我需要一个程序来查找所有 使用“r”整数对整数“n”进行分区。例如,

  • 问题内容: 我正在尝试编写代码以比较两个数组。在第一个数组中,我输入了自己的数字,但是在第二个数组中,输入了输入文件中的数字。该数组的大小由文件中的第一个数字确定,而第一个数组的大小始终为10。两个数组以及数字的长度必须相同。 我的代码如下: 问题答案:

  • 有没有一个相当标准的C(Linux)函数,或者一种代码高效但性能良好的方法来比较任意大小的两个整数? 我正在寻找一些参数为int intcmp(const void*a,const void*b,size\t size)的东西,它适用于任何实际大小的整数。(如果架构是big-endian的话(我认为)可以工作。) 我倾向于使用这样的实现(通过高效整数比较函数的改进),但它不是完全通用的,并且有足够