笔者在写一道题的时候受到了不小的困扰,题目要求以“-1”作为结束表志
在笔者学习了分支语句后得到了启发
题目如下
请在这里写输入格式。例如:输入在一行中给出n 个数 ,-1表示输入结束。
请在这里描述输出格式。例如:对每一组输入,在一行中输出平均值,保留2位小数。
在这里给出一组输入。例如:
3 6 9 21 -1
在这里给出相应的输出。例如:
avg = 9.75
1)使用for语句先行创建多次输入的环境(i<=100只作为参考)
for(i=0;i<=100;i++)
{
scanf("%d",&a);
b +=a;
}
2)在for语句中插入if语句对输入值为“-1”时进行break操作
for(i=0;i<=100;i++)
{
scanf("%d",&a);
if( a == -1)
{
break;
}
b +=a;
}
题解思路为如此两步,对于本题进行特化操作(注意变量的作用域,i与b需要定义在for循环语句外,否则这两个变量的值会随着循环的结束而结束)
#include <stdio.h>
int main()
{
int a,b=0;
float i =0;
for(i=0;i<=100;i++)
{
scanf("%d",&a);
if( a == -1)
{
break;
}
b +=a;
}
double avg= b/i*1.00;
printf("avg = %.2f",avg);
return 0;
}
最终我们就可以得到一个正确的答案了。