N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고,

그 합이 최대인 자연수를 출력 하는 프로그램을 작성해보자.

각 자연수의 자릿수의 합을 구하는 함수를 int digit_sum(int x)로 작성하자.

 

입력 값 txt파일

맨처음숫자 3은 데이터의 수를 표현해준다.

3
125 15232 97

 

힌트 : 버퍼에는 줄바꿈 띄어쓰기 기준으로 들어간다.

자릿수의 합을 구하는 방법을 한번 생각해보자.

 

#include <stdio.h>

using namespace std;

int digit_sum(int x){
	int sum = 0, tmp;
	while(x>0){
		tmp = x%10;
		sum=sum+tmp;
		x=x/10;
	}
	return sum;
}

int main(int argc, char** argv) {
	freopen("input.txt", "rt", stdin);
	int n, num, i, sum, max = -2147000000, res;

	scanf("%d",&n);
	for(int i = 0; i <n; i++){
		scanf("%d",&num);	
		sum = digit_sum(num);
		if(sum > max){
			max = sum;
			res = num;	
		}
	
	}
	
	printf("%d\n",res);
	
	return 0;
}

 

 

 

+ Recent posts