7.03.2017

정수의 자릿수 더하기

//C++로 시작하는 객체지향 프로그래밍 p.275 예제 6.2
/* (정수의 자릿수 더하기) 정수의 각 자리의 합을 구하는 함수를 작성하여라. 다음 함수 헤더를 사용하여라. 
int sumDigits(long n)
예를 들면 sumDigits(234)는 9(=2+3+4)를 반환한다. (힌트 : 자리를 추출하려면 %연산자를 사용하고, 추출된 자릿수를 제거하려면 /연산자를 사용함.
예를 들어, 234에서 4를 추출하려면 234%10(=4)을 사용하면 되고, 234에서 4를 제거하려면 234/10(=23)을 사용하면 된다.
모든 자리가 추출될 때까지 반복적으로 각 자리가 추출되고 제거되도록 반복문을 사용한다.)
사용자가 정수를 입력하고 그 수의 모든 자릿수의 합을 출력하는 테스트 프로그램을 작성하여라.*/

#include <iostream>
using namespace std;
int sumDigits(long n){
    int r, sum;

    while(n != 0){
         r = n%10; //1의 자리의 값
         sum += r; // 각 자리의 합을 구하기 위한 변수
         n = n/10; //10의 자리씩 줄여가는 방법
    }
    return sum;
}
int main(){
     int num;
     cout << "Enter a Number : ";
     cin >> num;
     sumDigits(num);

cout << "Sum is " << sumDigits(num) << endl;

system("pause");
return 0;
}

댓글 없음:

댓글 쓰기