[c언어] 문자열 속 숫자 합 계산 (아스키코드)
2020. 12. 21. 14:59ㆍComputer Science/C
문자열을 입력 받아서, 그 안에 존재하는 숫자들의 총합을 계산하여 출력하는 프로그램을 작성한다.
'0'의 아스키값은 48임을 활용한다.
* '1'은 49의 값을 갖으므로 '1' - 48 계산을 통해서 1이라는 숫자 값을 얻을 수 있음을 착안한다.
#include <stdio.h>
int main(void)
{
char word[81], num[81];
int i,j=0, sum = 0;
printf("Enter one word: ");
scanf("%s", word);
for (i = 0;word[i] != '\0';i++)
{
if (word[i] >= 48 && word[i] < 65)
{
num[j] = word[i] - 48;
j++;
}
}
num[j] = '\0';
for (j = 0;num[j] != '\0';j++)
{
sum += num[j];
}
printf("안에 있는 숫자들의 합은 %d\n", sum);
}
결과
'Computer Science > C' 카테고리의 다른 글
[c언어] 집합 구현 (0) | 2020.12.21 |
---|---|
[c언어] 다중집합 (0) | 2020.12.21 |
[c언어] 자리예약 시스템 (0) | 2020.12.21 |
[c언어] 4칙 연산 (switch문) (0) | 2020.12.16 |
[c언어] 배열에서 key 값 찾기 (0) | 2020.12.16 |