例12:在全系1000个学生中,征集慈善捐款,当总数达到10万元时就结束,统计此时的捐款人数,以及平均每人捐款的数目。
解题思路:显然应该用循环来处理。实际实际循环的次数事先不能确定,可以设置为最大值(1000)在循环体中累计捐款总数,并用if语句检查是否达到10万元,如果达到就不再继续执行循环,终止累加,并计算人均捐款数。
源代码演示:
#include<stdio.h>//头文件
int main()//主函数
{
float amount,aver,total;//定义浮点型变量
float sum=100000; //定义浮点型变量且赋初值
int i;//定义整型变量
for(i=1,total=0;i<1001;i++)//循环条件
{
printf("请依次输入捐款钱数:");//提示语句
scanf("%f",&amount); //键盘输入
total=total+amount;
if(total>sum)
break;//跳出循环
}
aver=total/i;
printf("第%d个人捐款之后达到10万+\n平均每人捐款:%5.2f\n",i,aver);
return 0;//函数返回值为0
}
编译运行结果如下:
请依次输入捐款钱数:1000
请依次输入捐款钱数:45678
请依次输入捐款钱数:34521
请依次输入捐款钱数:7000
请依次输入捐款钱数:456.3
请依次输入捐款钱数:15689
第6个人捐款之后达到10万+
平均每人捐款:17390.72
--------------------------------
Process exited after 23.79 seconds with return value 0
请按任意键继续. . .
break的作用是使流程跳到循环体之外,接着执行循环体下面的语句。
注意:在C语言中break语句只能用于循环语句和switch语句之中,而不能单独使用。
更多案例可以go微信公众号:C语言入门到精通,作者:闫小林
正文完