例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语句之中,而不能单独使用。
原文:https://www.cnblogs.com/cyuyanycl/p/14151392.html