2017年8月9日 星期三

[ITSA Basic] 題目33. 一整數序列所含之整數個數及平均值(Java, C++)

題目33. 一整數序列所含之整數個數及平均值

成績: 0 / 倒扣: 0.8
1. 問題描述 
寫一個程式求一整數序列所含之整數個數及平均值。
輸入說明 
一整數序列以空白鍵隔開數字。
輸出說明:
序列所含之整數個數及平均值。精確至小數點第3位(由小數點第4位四捨五入)
範例 
輸入範例輸出範例
23 34 34 56 56
100 100 -100 100 100 90
1 2 3 4 5 6 7 8 9 10
5 5 5 5 5 5 5 5 5 5 5 5
543 78243 -901 2785
Size: 5
Average: 40.600
Size: 6
Average: 65.000
Size: 10
Average: 5.500
Size: 12
Average: 5.000
Size: 4
Average: 20167.500

  Java

  1. import java.util.Scanner; 
  2.  
  3. public class Main{ 
  4.  
  5.  public static void main(String[] args) { 
  6.         
  7.         int size = 0;   
  8.         int sum = 0;   
  9.          float avg;   
  10.        Scanner sc = new Scanner(System.in);   
  11.          String s; 
  12.       while(sc.hasNext()) 
  13.         { 
  14.           s = sc.nextLine();  
  15.             String[] token = s.split(" ");   
  16.  
  17.           for(int i = 0; i < token.length; i++)   
  18.              {   
  19.                 int num = Integer.parseInt(token[i]);   
  20.                 sum = sum + num;   
  21.                  size++;   
  22.           }  
  23.               
  24.            avg = (float)sum/(float)size;   
  25.             System.out.println("Size: " + size);   
  26.              System.out.printf("Average: " + "%.3f", avg);   
  27.             System.out.println(); 
  28.           size = 0;   
  29.             sum = 0;   
  30.          } 
  31.  } 
  32. }  

  C++

  1. #include <iostream> 
  2. #include <iomanip> 
  3. #include <string> 
  4. #include <sstream> 
  5.  
  6. using namespace std; 
  7.  
  8. int main() { 
  9.     // 題目33. 一整數序列所含之整數個數及平均值 
  10.     //g++(c++11) 
  11.    string text; 
  12.    int size = 0; 
  13.   double sum = 0; 
  14.     string num[10000]; 
  15.  double i_num[10000]; 
  16.    while(getline(cin, text)) 
  17.   { 
  18.       //字串切割 
  19.      stringstream ss(text); 
  20.      string token; 
  21.       while (getline(ss, token, ' ')) 
  22.         { 
  23.           num[size] = token; 
  24.          i_num[size] = stod(num[size]); 
  25.          size++; 
  26.         } 
  27.       for(int i = 0;i < size;i++) 
  28.      { 
  29.           sum = sum + i_num[i]; 
  30.       } 
  31.       double ave = sum / size; 
  32.  
  33.       cout << "Size: " << size << endl; 
  34.         cout << "Average: " << fixed << setprecision(3) << ave << endl;  
  35.      size = 0; 
  36.       sum = 0; 
  37.    } 
  38.   return 0; 
  39. }  










沒有留言:

張貼留言