Так что я пытаюсь написать программу, которая вычисляет процент одного из чисел в группе чисел. Можно ввести числа, но проценты всегда равны 0, и я опробовал формулу на бумагу, и она работает каждый раз, когда есть что-то вроде проблемы.Использование массива для вычисления процента от числа
#include <stdio.h>
int main() {
int x[10];
int i,sum;
float perc;
sum=0;
for(i = 0; i < 10; ++i) {
scanf("%d",&x[i]);
sum=sum+x[i];
}
printf("n percentage of total\n");
for(i = 0; i < 10; ++i) {
perc=(x[i]/sum)*100;
printf("%d %.2f\n",x[i],perc);
}
return (0);
}
Просто объявить сумму в качестве поплавка вместо целого числа. – Ale
Извините, но это было задано (и ответило) тысячу раз: Деление двух целых чисел ** усекает ** результат на целое число. –
Если 'sum' определяется как целое число, вы должны вычислить' x [i] * 100/sum'. Эффект заключается в том, что если 'x [i] * 100' is> =' sum', ваш результат тоже 0, что в противном случае не так. Однако в этом случае десятичные точки теряются. – bkausbk