有人能看看我的代码并给我一些提示为什么它不能正常工作吗。只要是正整数,它就应该求出数字,然后计算它们的和,除以最大数,再乘以最小数。
#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;
}
最佳答案
因为smallest
从零开始,它永远不会改变,因为if (n < smallest)
永远不会是真的。你需要:
int smallest = INT_MAX;
或类似的。对于
INT_MAX
您需要:#include <limits.h>
在上面。
关于c - C-总和并找到最大/最小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18251438/