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