用c语言计算用户输入的平均值
免责声明:我是编程新手 我正在解决这个问题 到目前为止,我写了这篇文章,它接受用户的输入,并根据这些输入计算平均值用c语言计算用户输入的平均值,c,average,C,Average,免责声明:我是编程新手 我正在解决这个问题 到目前为止,我写了这篇文章,它接受用户的输入,并根据这些输入计算平均值 #include <stdio.h> int main() { int n, i; float num[100], sum = 0.0, average; for(i = 0; i < n; ++i) { printf("%d. Enter number: ", i+1); scanf("%f",
#include <stdio.h>
int main()
{
int n, i;
float num[100], sum = 0.0, average;
for(i = 0; i < n; ++i)
{
printf("%d. Enter number: ", i+1);
scanf("%f", &num[i]);
sum += num[i];
}
average = sum / n;
printf("Average = %.2f", average);
return 0;
}
我希望用户输入-1表示他们已经完成了数据输入;我不知道该怎么做。如果可能的话,有人能解释一下或者给我一个如何做的想法吗
谢谢大家! 你只需要平均值。无需存储为此输入的所有号码 您只需要将-1之前的数字输入存储在一个变量中,比如count,它在循环的每次迭代时递增,以及一个类似sum的变量来保存迄今为止输入的所有数字的总和 在您的程序中,您在使用n之前没有初始化它。n只有值不确定的垃圾 你甚至不需要平均变量。您可以在打印平均值的同时打印总和/计数 做 在-1停止阅读 如果不希望以后使用数据,则不需要数组num[]。
希望这会有所帮助 无需声明数组来存储输入的数字。您只需检查下一个输入的数字是否等于-1,如果不等于-1,则将其添加到总和中 请注意,根据分配,用户必须输入整数。平均值可以计算为整数或浮点数 程序可以按以下方式运行
#include <stdio.h>
int main( void )
{
unsigned int n = 0;
unsigned long long int sum = 0;
printf("Enter a sequence of positive numbers (-1 - exit): ");
for (unsigned int num; scanf("%u", &num) == 1 && num != -1; )
{
++n;
sum += num;
}
if (n)
{
printf("\nAverage = %llu\n", sum / n);
}
else
{
puts("You did not eneter a number. Try next time.");
}
return 0;
}
如果您需要将平均值计算为浮点数,那么只需将变量sum声明为具有double类型,并在printf语句中使用相应的格式说明符来输出平均值。如果完全错误,我尝试使用If语句idk作为数据项的结尾,但我想表明我至少做了一个请将您的问题以文本形式发布。还添加与问题内联的代码。可能重复:由于在条件中用户必须输入整数-无需将其读取为%f,请使用int num和%d
#include <stdio.h>
int main()
{
int i = 0;
float num[100], sum = 0.0, average;
float x = 0.0;
while(1) {
printf("%d. Enter number: ", i+1);
scanf("%f", &x);
if(x == -1)
break;
num[i] = x;
sum += num[i];
i++;
}
average = sum / i;
printf("\n Average = %.2f", average);
return 0;
}
#include <stdio.h>
int main( void )
{
unsigned int n = 0;
unsigned long long int sum = 0;
printf("Enter a sequence of positive numbers (-1 - exit): ");
for (unsigned int num; scanf("%u", &num) == 1 && num != -1; )
{
++n;
sum += num;
}
if (n)
{
printf("\nAverage = %llu\n", sum / n);
}
else
{
puts("You did not eneter a number. Try next time.");
}
return 0;
}
Enter a sequence of positive numbers (-1 - exit): 1 2 3 4 5 6 7 8 9 10 -1
Average = 5