char choice, y, n;
float percentage;
int marks;
printf("Do you want to know your percentage?(y/n):\n\n");
scanf(" %c", &choice);
if (choice == 'y') {
printf("Enter Your 2nd Sem Marks:\n\n");
scanf(" %d", &marks);
percentage = (marks / 775) * 100;
printf("Your 2nd Sem Percentage is %.2f", percentage);
} else
printf("Thankyou!!!!\n\n\n");
我无法使用上述代码计算百分比 - 我得到输出0.00 ...
例如,当我将输入设为536时,不显示结果为69.16,而是显示0.00 请帮帮我
答案 0 :(得分:5)
由于marks
是int
并且始终小于775,因此在整数除法后,表达式(marks / 775)
将始终为零。您应该转换为表达式中的浮点数,或者在表达式中具有浮点数,以保留除法的其余部分。
答案 1 :(得分:3)
这是因为你这样做
percentage = (marks/775) * 100;
你应该这样做
percentage = ((float)marks/775) * 100;
请记住,(marks/775)
将给出一个整数,因为两个操作数都是整数。
在他的情况下,536/775
将按整数除法0
。
您应该执行浮动除法以获得百分比。