반응형

C언어

#include <stdio.h>
 
int main() {
    int inputNumber[7];
    int sum = 0, minNumber = 100;
    int cnt = 0;
    for(int i=0; i<7; i++){
        scanf("%d"&inputNumber[i]);
        if(inputNumber[i] % 2 == 1){
            sum += inputNumber[i];
            if(minNumber > inputNumber[i]){
                minNumber = inputNumber[i];
            }
        }else{
            cnt++;
            if(cnt == 7){
                sum = -1;
            }
        }
    }
    printf("%d\n%d", sum, minNumber);
    
    return 0;
}
 
반응형
반응형

C언어

#include <stdio.h>
 
int main() {
    int num[5];
    int sum = 0;
    for(int i=0; i<5; i++){
        scanf("%d"&num[i]);
        sum += num[i];
    }
    printf("%d\n", sum/5);
    for(int i=0; i<4; i++){
        for(int j=0; j<4; j++){
            if(num[j] > num[j+1]){
                int temp = num[j];
                num[j] = num[j+1];
                num[j+1= temp;
            }
        }
    }
    printf("%d\n", num[2]);
    return 0;
}
 
반응형
반응형

버블 정렬 사용 안 하려고 했으나 두 번째 크기 구하는게 조금 헷갈려서 그냥 버블 정렬 사용.

 

C언어

#include <stdio.h>
 
int main() {
    int height[7];
    
    for(int i=0; i<7; i++){
        scanf("%d"&height[i]);
    }
    
    for(int i=0; i<6; i++){
        for(int j=0; j<6; j++){
            if(height[j] > height[j+1]){
                int temp;
                temp = height[j];
                height[j] = height[j+1];
                height[j+1= temp;
            }
        }
    }
    printf("%d\n%d", height[6], height[5]);
    return 0;
}
반응형
반응형

0을 삭제하는 부분이 조금 어려웠다.

 

C언어

#include <stdio.h>
 
int main() {
    int inputNumber;
    scanf("%d"&inputNumber);
    int temp = inputNumber;
    int digit = 0, rem = 0, sum = 0// digit : 입력한 숫자의 자릿수를 저장하는 변수
    
    while(temp>0){ // 입력한 숫자가 몇 자리수인지 판단하는 코드
        digit++;
        temp /= 10;
    }
    
    int digit2 = digit; // 입력한 숫자를 뒤집은 숫자의 자릿수를 저장하는 변수
    
    for(int i=0; i<digit; i++){
        if(inputNumber % 10 == 0){
            digit2--;
            inputNumber = inputNumber/10;
        }else{
            int result = inputNumber;
            for(int i=0; i<digit2; i++){
                rem = result % 10;
                result = result / 10;
                sum += rem;
                printf("%d", rem);
            }
            printf("\n");
            printf("%d\n", sum);
            break;
        }
    }
    return 0;
}
 
 
반응형
반응형

버블정렬 사용하면 쉽게 풀 수 있는 문제.

 

C언어

#include <stdio.h>
 
int main() {
    int students;
    scanf("%d"&students);
    int score[students];
    
    for(int i=0; i<students; i++){
        scanf("%d"&score[i]);
    }
    for(int i=0; i< students-1; i++){
        for(int j=0; j< students-1;j++){
            if(score[j] > score[j+1]){
                int temp;
                temp = score[j];
                score[j] = score[j+1];
                score[j+1= temp;
            }
        }
    }
    printf("%d\n", score[students-1]-score[0]);
    return 0;
}
 
반응형
반응형

C언어

#include <stdio.h>
 
int main() {
    int first, second;
    scanf("%d %d"&first, &second);
 
    int a = (first+second) / 2;
    int b = (first-second) / 2;
    
    printf("%d\n%d\n", a, b);
    return 0;
}
r
반응형
반응형

간단한 문제.

 

C언어

#include <stdio.h>
 
int main(){
    int inputNumber[7];
    int maxEvenNumber = 0, maxOddNumber = 0;
    for(int i=0; i<sizeof(inputNumber)/sizeof(int); i++){
        scanf("%d"&inputNumber[i]);
        if(inputNumber[i] % 2 == 0){ // 짝수
            if(inputNumber[i] > maxEvenNumber){
                maxEvenNumber = inputNumber[i];
            }
        }else// 홀수
            if(inputNumber[i] > maxOddNumber){
                maxOddNumber = inputNumber[i];
            }
        }
    }
    
    printf("%d\n", maxEvenNumber+maxOddNumber);
    
    return 0;
}
 
반응형
반응형

중앙 값 찾는 문제. 버블 정렬을 사용하면 쉽게 문제를 해결할 수 있다. 버블 정렬 후 두 번째 인덱스에 있는 값이 정답.

 

C언어

#include <stdio.h>
 
int main(){
    int num[5];
    int arrSize = sizeof(num)/sizeof(int);
    
    for(int i=0; i<arrSize; i++){
        scanf("%d"&num[i]);
    }
    
    for(int i=0; i<arrSize-1; i++){
        for(int j=0 ;j<arrSize-1; j++){
            if(num[j] > num[j+1]){
                int temp;
                temp = num[j];
                num[j] = num[j+1];
                num[j+1= temp;
            }
        }
    }
    
    printf("%d\n", num[2]);
    
    return 0;
}
반응형
반응형

상당히 빨리 해결했다.

마지막 조건문의 sum == 0 이라는 의미는 for문 안에 있는 if문이 한번도 실행되지 않았다는 의미이므로 입력된 모든 수가 짝수였다는 것을 알 수 있다.

C언어

 
#include <stdio.h>
 
int main(){
    int num[7];
    int sum = 0;
    
    for(int i=0; i<sizeof(num)/sizeof(int); i++){
        scanf("%d"&num[i]);
        if(num[i] % 2 == 1){
            sum += num[i];
        }
    }
    
    if(sum == 0){ 
        printf("%d\n"-1);
    }else{
        printf("%d\n", sum);
    }
    
    return 0;
}
 
반응형
반응형

C언어

 
#include <stdio.h>
 
int main(){
    char privateNumber[15]; // 주민등록번호 저장
    int birth[4]; // birth[0] : 년, birth[1] : 월, birth[2] : 일, birth[3] : 성별
    char gender; // // 성별
    
    scanf("%s", privateNumber);
    birth[3= privateNumber[7]-48;
    
    for(int i=0; i<3; i++){
        birth[i] = ((privateNumber[i*2]-48* 10+ (privateNumber[i*2+1- 48);
    }
    
    if(birth[3== 1 || birth[3== 3){ // 1 or 3일 경우 남자
        gender = 'M';
    }else// 아니면 여자
        gender = 'F';
    }
    
    printf("19%02d/%02d/%02d %c\n", birth[0], birth[1], birth[2], gender);
    
    return 0;
}
 
반응형

+ Recent posts