顺便聊一下C语言统计捐款人数及捐款

例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
请依次输入捐款钱数:156896个人捐款之后达到10+
平均每人捐款:17390.72

--------------------------------
Process exited after 23.79 seconds with return value 0
请按任意键继续. . .

break的作用是使流程跳到循环体之外,接着执行循环体下面的语句。

注意:在C语言中break语句只能用于循环语句和switch语句之中,而不能单独使用。

C语言统计捐款人数及捐款

更多案例可以go微信公众号:C语言入门到精通,作者:闫小林

正文完