데일리 codeup/일차원 배열

한줄에 여러개 입력2_220711

hayo_su 2022. 7. 11. 14:03

평균점수 구하기

학생 8명의 점수가 주어지면 평균을 출력하는 프로그램을 작성해보세요.

#include <iostream>
using namespace std;
int main(){
    double score,sum_val = 0;
    for(int i=0;i<8;i++){
        cin>>score;
        sum_val += score;
    }
    cout<<fixed;
    cout.precision(1);
    cout<<sum_val/8;
    return 0;
}

배열 채우기

10개의 정수를 저장할 수 있는 배열을 선언하고 정수를 차례로 입력받다가 0이 입력되면 10개 입력이 끝나지 않았더라도 그때까지 입력된 정수를 가장 나중에 입력된 정수부터 차례대로 출력하는 프로그램을 작성해보세요. 단, 처음에 0은 입력받지 않는다고 생각해도 좋습니다.

#include <iostream>
using namespace std;
int main(){
    int n[10];
    int cnt = 0;
    for(int i=0;i<10;i++){
        cin >> n[i];
        if(n[i]==0) break;
        cnt ++;
    }
    for(int i=cnt-1;i>=0;i--){
        cout << n[i]<<' ';
    }
    return 0;
}

10개 입력받기

정수 10개를 입력받아서 그 합과 평균을 출력하는데, 0이 입력되면 10개 입력이 끝나지 않았더라도 그때까지 입력된 합과 평균을 출력하는 프로그램을 작성해보세요. 0이 입력된 경우 0을 제외한 합과 평균을 구합니다. 단, 처음에 0은 입력받지 않는다고 생각해도 좋습니다.

#include <iostream>
using namespace std;
int main(){
    int n[10];
    int cnt = 0, sum_val = 0;
    for(int i=0;i<10;i++){
        cin >> n[i];
        if(n[i]==0) break;
        cnt ++;
    }
    for(int j=0;j<cnt;j++){
        sum_val += n[j];
    }
    cout<<fixed;
    cout.precision(1);
    cout<< sum_val<<' '<<(double)sum_val/cnt;
    return 0;
}

배열의 특정 위치 찾기 4

10개의 정수가 차례로 주어지는데, 0이 주어지면 그때까지 주어진 정수 중 2의 배수의 개수와 합계를 출력하는 프로그램을 작성해보세요.

#include <iostream>
using namespace std;
int main(){
    int n[10];
    int cnt = 0, sum_val = 0, cnt2 = 0;
    for(int i=0;i<10;i++){
        cin >> n[i];
        if(n[i]==0) break;
        cnt ++;
    }
    for(int i=0;i<cnt;i++){
        if(n[i]%2==0){
            sum_val += n[i];
            cnt2 ++;
        }
    }
    cout<<cnt2<<' '<<sum_val;
    return 0;
}

시험 통과 여부 확인하기 2

10명 미만의 학생들의 4과목 점수가 주어집니다. 평균이 60점 이상이면 통과입니다. 통과했다면 'pass'를 출력하고, 통과하지 못했다면 'fail'을 출력하고 통과한 사람의 수를 출력하는 프로그램을 작성해보세요.

#include <iostream>
using namespace std;
int main(){
    int n,a,b,c,d,cnt = 0;
    cin >> n;
    double m[n];
    for(int i=0;i<n;i++){
        cin >> a >> b >> c >> d;
        m[i] = (double)(a+b+c+d)/4;
    }
    for(int j=0;j<n;j++){
        if(m[j]>=60){
            cout<<"pass"<<endl;
            cnt++;
        }
        else    cout<<"fail"<<endl;
    }
    cout<<cnt;
    return 0;
}

짝수들을 거꾸로 출력

n개의 원소가 차례대로 주어졌을 때, 짝수인 수만 출력하려고 합니다. 이 때, 출력의 순서를 입력의 순서와 반대로 하는 프로그램을 작성해보세요.

예를 들어, 입력된 숫자들이 1 2 3 4 5 6 이라면 출력이 6 4 2 가 되도록 합니다.

#include <iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    int m[n];
    for(int i=0;i<n;i++)    cin >> m[i];
    for(int j=n-1;j>=0;j--){
        if(m[j] % 2 ==0)   cout<<m[j]<<' ';
    }
    return 0;
}