No. 1546

#include<stdio.h>
int main()
{
	int arr[6], i, sum = 0;
	for (i = 0; i < 5; i++) {
		scanf("%d", &arr[i]);
		sum = sum + arr[i] * arr[i];
	}
	printf("%d\n", sum % 10);
}

코드 설명 : 입력된 각 수의 제곱을 모두 더해야 한다. 따라서 for문을 통해 배열에 5자리 수를 입력받은 후, 변수 sum에 각 배열의 원소의 제곱을 더해주었다. 그리고 sum을 10으로 나눈 나머지 값을 출력해주었다.

 

No. 2562

#include<stdio.h>
int main()
{
	int arr[10], i, max = 0, index;
	for (i = 0; i < 9; i++) {
		scanf("%d", &arr[i]);
		if (max < arr[i]) {
			max = arr[i];
			index = i;
		}
	}
	printf("%d\n%d\n", max, index+1);
}

코드 설명 : 9개의 수를 for문으로 입력받아주고 max의 초기값을 0으로 설정한 후 max보다 입력받은 배열의 원소가 크면 max에 그 원소값을 넣어주었다. 그리고 그 원소의 인덱스 값을 index 변수에 넣어주었다. 이 과정을 반복하여 최댓값과 그 수의 인덱스를 구하여 마지막에 출력해주었다. 이 때 for문에서 i가 0부터 시작했으므로 인덱스는 +1하여 나타내주었다.

 

No. 2577

#include<stdio.h>
int main()
{
	int cnt[10] = { 0, }, a, b, c, mul, j;
	scanf("%d %d %d", &a, &b, &c);
	mul = a * b * c;
	while (mul != 0) {
		cnt[mul % 10]++;
		mul = mul / 10;
	}
	for (j = 0; j < 10; j++) {
		printf("%d\n", cnt[j]);
	}
}

코드 설명 : 먼저 숫자 3개를 입력 받고 그 수들을 모두 곱한 값을 mul에 저장해주었다. cnt배열에 모든 원소의 초기값을 0으로 지정해주었고 인덱스 mul%10에 1을 추가해주었다. mul%10은 0~9에 해당되고 이 계산을 통해 각 숫자가 몇번 쓰였는지를 알 수 있다. 그리고 mul을 10으로 나눠주었고 이 과정을 mul이 0이 아닐때까지 반복하였다. 마지막에 cnt배열의 원소를 모두 출력하도록 하였다.

+ Recent posts