首頁>資訊>

例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的作用是使流程跳到迴圈體之外,接著執行迴圈體下面的語句。

8
  • 3本作者大大最好的一本小說,劇情讓人拍手叫好,連看三遍也不膩
  • 阿里涉嫌壟斷被立案!終於明白馬化騰「大洗牌即將開始」是啥意思