본문 바로가기
정리/C

[c] 구조체 관련 문제 풀이

by 멘멘 2023. 8. 27.

codeup #1805

#include <stdio.h>

int main(){
    
    int n = 0; //입체기동장치 수 
    int a[101],b[101]; // 식별번호와 가스보유량수
    scanf("%d",&n);
    for(int i = 0; i<n; i++){ //입력받기
        scanf("%d %d",&a[i],&b[i]); 
    }
    for(int i =0; i<n; i++){
        for(int j =0; j<n; j++){
            if(a[i]<a[j]){ //식별번호 순 정렬하는 코드
                int tmp = a[i];
                a[i] = a[j];
                a[j] = tmp;
                tmp = b[i];
                b[i] = b[j];
                b[j] = tmp;
            }
        }
    }
   for(int i = 0; i<n; i++){ //내용 출력
        printf("%d %d\n",a[i],b[i]);
    }
    
    return 0;
}

 

codeup 3016

#include <stdio.h>

struct score{ //학생들의 점수를 저장하는 구조체
  char name[10];
  int f;
  int s;
  int t;
};

int main(){
    int n = 0; //학생수
    int max = 0; //최대점수
    int first = -1; //1등인 학생 구분번호
    
    scanf("%d",&n);
    int second = n; //2번째 과목 등수
    int third = n; //3번째 과목 등수
    
    struct score stu[100]; //구조체 생성
    for(int i = 0; i<n; i++){ //구조체 값입력
        scanf("%s %d %d %d",&stu[i].name,&stu[i].f,&stu[i].s,&stu[i].t);
        if(max<stu[i].f){ //최대점수를 구해 1등을 구함
            max = stu[i].f;
            first = i;
        }
        
    }
    for(int i =0; i<n; i++){ //1등의 2번째,3번쨰 과목 등수 비교
        if(i != first && stu[first].s >= stu[i].s){
            second--;
        }
        if(i != first && stu[first].t >= stu[i].t){
            third--;
        }
    }
    printf("%s %d %d",stu[first].name,second,third);
    
    return 0;
}

 

codeup 4012

#include <stdio.h>


int main(){
    int n = 0; //입력받을 점수 개수
    scanf("%d", &n);
    int score[200]; //점수 배열
    int rank[200]; //등수 배열
    for(int i = 0; i<n; i++){
        scanf("%d",&score[i]); 
    }
    
    int cnt = 0; //등수 계산용 변수
    
    for(int i = 0; i<n; i++){
        cnt = 0;
        for(int j = 0; j<n; j++){
            if(score[i]<score[j]){ //등수 비교
                cnt++;
            }
        }
        rank[i] = cnt+1; //1이 생략되었으므로 1을 더해줌
    }
    
    for(int i = 0; i<n; i++){
        printf("%d %d\n",score[i],rank[i]);
    }
    return 0;
}

 

'정리 > C' 카테고리의 다른 글

[c] 코딩도장 파일입출력 문제  (0) 2023.08.27
[c] 파일 입출력  (0) 2023.08.27
[C] 구조체  (0) 2023.07.30
[c] 이차원 배열 문제 풀이  (0) 2023.07.23
[c] 포인터 문제 풀이  (0) 2023.07.09

댓글