Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어로 숫자의 첫 자리와 마지막 자리 숫자의 합 구하기

C 프로그래밍 언어에서는 아래의 간단한 알고리즘을 활용하여 임의의 숫자에 대한 첫 번째 자릿수와 마지막 자릿수의 합을 쉽게 계산할 수 있습니다.

알고리즘

다음은 문제 해결을 위한 알고리즘입니다.

시작
1단계: int형 변수 no, sum을 선언한다
2단계: 실행 시점에 숫자를 입력받는다
3단계: sum = no % 10 으로 마지막 자릿수를 구한다
4단계: while 반복문으로 no > 9인 동안 no = no / 10 을 수행한다
5단계: sum = sum + no 로 첫 번째 자릿수를 더한다
6단계: sum을 출력한다
종료

예제 코드

다음은 숫자의 첫 자리와 마지막 자리 숫자의 합을 구하는 C 프로그램입니다.

#include <stdio.h>
int main(){
    unsigned int no, sum;
    printf("enter any number:");
    scanf("%u", &no);
    sum = no % 10;          // 마지막 자릿수 추출
    while(no > 9){
        no = no / 10;       // 자릿수를 하나씩 줄여가며 첫 자리까지 이동
    }
    sum = sum + no;         // 첫 번째 자릿수와 더하기
    printf("sum of first and last digit is:%d", sum);
    return 0;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

enter any number:1242353467
sum of first and last digit is:8

동작 원리 설명

입력값 1242353467의 경우, no % 10 연산을 통해 마지막 자릿수인 7을 먼저 구합니다. 이후 no / 10 연산을 반복하면 숫자가 계속 줄어들어 결국 첫 번째 자릿수인 1만 남게 됩니다. 두 값을 더하면 8이 되는 것입니다.


참고로, 아래는 배열의 모든 요소의 합을 계산하는 C 프로그램 예제입니다.

예제 코드

#include<stdio.h>
void main(){
    // 배열 선언 및 초기화 //
    int array[5]={10,20,30,40,50};
    int i, sum=0, product=1;
    // for 반복문으로 배열 요소 순회 //
    for(i=0;i<5;i++){
        // 요소들의 합 계산 //
        sum=sum+array[i];
    }
    // 합 출력 //
    printf("Sum of elements in the array is : %d\n",sum);
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Sum of elements in the array is : 150