查找5个数字和N个数字的平均值只用while和while循环在C中
我真的坚持这一直试图解决它现在相当一段时间。 我必须编写一个程序,我应该输入1到10之间的5个数字,然后计算平均值,仅在使用LOOP时使用,但在数字不符合要求时不必退出。然后,我必须写一个相同的代码的变体,但这次你可以输入所有你想要的数字,当输入0时,它必须计算出平均值并退出查找5个数字和N个数字的平均值只用while和while循环在C中
这是我到目前为止的地方
#include <stdio.h>
int main(void)
{
int n, i = 1;
float add;
float avg;
do
{
printf("enter the number %d:\n", i++);
scanf("%d", &n);
add = add + n;
} while(n > 0 && n < 11);
avg= (add/5);
printf("%.1f", avg);
return 0;
}
在输入5之后,它将继续询问数字。并且平均值不正确
首先,您使用n
作为while
条件变量,但也可以作为变量来扫描输入。例如,如果我通过扫描20来启动程序,则您的while
循环将在第一次交互时退出。改用你的i
变量,并在每次循环执行时增加它。
do{
...
}while(i <= 5);
第二,如果你想在1和10之间的唯一号码,那么你应该为它编写的条件。例如:
printf("enter the number %d:\n", i); //do not increment it here!
scanf("%d",&n); //assuming "n" as your variable to scan
if(n > 0 && n < 11){
add += n;
i++; //increment it here instead!
}
第三,为了初始化变量拿不到鞭打值
float add = 0;
float avg = 0;
int i = 1;
最后,分配你的结果(不是强制性的,但因为你是使用它,我会保持它):
avg = add/5.0f
并显示:
printf("%.1f", avg);
谢谢,我完全理解。 – antimage64
另一件让我想到的问题是:如果你初始化你的''''变量,例如'i = 1',你可以改变'do-while'循环为while循环:while (我 woz
这是他们现在在大学教学的内容吗?上帝...... – Darius
“舞会”必须是一个错字。我代替了“平均”在我的脑海。 – phatfingers
变量'add'未初始化。 'add = add + n'产生未定义的行为。 – Pablo