JSK-390 計負均正【入門】
阿新 • • 發佈:2018-12-13
計負均正 從鍵盤輸入任意 20 個整型數,統計其中的負數個數並求所有正數的平均值。 輸入格式 輸入包含 20 個整數,分兩行,每行 10 個數,每個數的絕對值不超過 1000。 輸出格式 第一行輸出負數個數。 第二行輸出正數的平均數,保留兩位小數。 樣例輸入 1 2 3 4 5 6 7 8 9 10 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 樣例輸出 10 5.50
問題連結:JSK-390 計負均正 問題描述:(略) 問題分析: 簡單題,迴圈處理一下就好。 程式說明: 使用巨集定義的目的是使得程式從工程角度看程式碼具有通用性,當資料個數改變是隻需要修改巨集定義而不需要修改程式碼。 題目雖然說是輸入資料分2行,但是使用格式化輸入函式scanf()讀入資料時,會自動跳過分割符,不必介意換行。 輸入也許會有0,需要注意,編碼時需要考慮到。 求平均值是浮點運算,需要注意型別轉換。 參考連結
AC的C語言程式如下:
/* JSK-390 計負均正 */
#include <stdio.h>
#define N 20
int main(void)
{
int cnt = 0, cnt2 = 0, sum = 0, a, i;
for(i = 1; i <= N; i++) {
scanf("%d", &a);
if(a > 0) {
sum += a;
cnt2++;
} else if(a < 0)
cnt++ ;
}
printf("%d\n%.2f\n", cnt, (float)sum / cnt2);
return 0;
}