誰かが私のコードを見て、正しく動作しない理由を教えてください。正の整数である限り数値を要求し、それらの合計を計算し、最大値で割り、最小値で乗算することになっています。
#include <stdio.h>
int main () {
int n, largest=0, smallest=0;
float sum=0;
scanf("%d", &n);
while (n > 0) {
scanf("%d", &n);
if (n > largest) {
largest = n;
}
if (n < smallest) {
smallest = n;
}
sum += n;
}
sum = sum / largest * smallest;
printf("%f\n", sum);
return 0;
}