|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
double u=0,m=0,v=0;
int n=1;
while(n<=1000)
{
scanf("%lf\n",&m);
n++;
u=u+m;
if(u>=100000)
{
printf("%d\n",n);
v=u/n;
printf("%lf\n",v);
} break;
}
return 0;
}
这个是求1000个人内捐款,达到 100000就不捐了,并求捐款人数和平均捐款量,我这个程序哪 里有问题
您的程序中的问题是`break`语句的位置放在了`if`语句的外面,这样会导致无论`if`条件是否满足,程序都会在第一次循环后跳出循环。你应当将`break`语句放在`if`语句内部。另外,您可能想要将`n++`放在`if`语句之后,因为如果已经达到或超过100000,那么其实您不应该再增加捐款人数。
这是修改后的程序:
- #include <stdio.h>
- int main()
- {
- double u=0,m=0,v=0;
- int n=0;
- while(n<1000)
- {
- scanf("%lf",&m);
- u=u+m;
- n++;
- if(u>=100000)
- {
- v=u/n;
- printf("%d\n",n);
- printf("%lf\n",v);
- break;
- }
- }
- return 0;
- }
复制代码
求最佳答案
|
|