본문 바로가기

C언어

C언어 튜터링 과제 : 백준 2562,3052,10950,25304번

#2562

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.

예를 들어, 서로 다른 9개의 자연수

3, 29, 38, 12, 57, 74, 40, 85, 61

이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.

 

#include <stdio.h>

int main() {
	int a, i;
	int biggest = 0;
	int num = 0;

	for (i = 0; i < 9; ++i) {
		scanf("%d", &a);
		if (a > biggest) {
			biggest = a;
			num = i + 1;
		}
	}
	printf("%d\n%d\n", biggest, num);

	return 0;
}

#3052

두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 

수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.

 
#include <stdio.h>

int main(){
   int a, i, j, r = 0;
   int arr[10];

   for(i = 0; i < 10; i++){
    scanf("%d", &a);
    arr[i] = a % 42;
   }

   for(i = 0; i < 10; i++){
    int c = 0;
    for(j = i+1; j < 10; j++){
        if(arr[i] == arr[j]) c++;
    }
    if(c == 0) r++;
   }

   printf("%d", r);
}

#10950

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

#include <stdio.h>

int main()
{
    int num, i, a, b;
    scanf("%d", &num);
    for(i = 0; i < num; i++){
        scanf("%d %d", &a, &b);
        printf("%d\n", a + b);
        
    }
    
    return 0;
}

#25304

 

준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.

영수증에 적힌,

  • 구매한 각 물건의 가격과 개수
  • 구매한 물건들의 총 금액

을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.

#include <stdio.h>

int main()
{
    int a, b, i, c, d, sum = 0;
    scanf("%d", &a);
    scanf("%d", &b);
    for(i = 0; i < b; i++){
        scanf("%d %d",&c, &d);
        sum += c * d;
    }
    if( sum == a ){
        printf("Yes");
    } else {
        printf("No");
    }
    return 0;
}