2008. 4. 15. 10:22ㆍETC Programmings
#include <stdio.h>
#include <stdlib.h>
int checkNum(char *str);
int getSize(char *str);
int numCharToInt(char *str);
int checkNum(char *str){
int sum = 0;
int i; // 합을반영할숫자, 인덱스옮겨갈변수
char letter;
for(i = 0 ; i < getSize(str) ; i++){
//printf("%c\n", str[i]);
if (str[i] > '/' && str[i] < ':'){
letter = str[i];
sum += letter - '0';
}
}
return sum;
}
int getSize(char *str){
int size = 0;
int i;
for(i = 0;;i++){
if(str[i] == '\0')
break;
else
size++;
}
return size;
}
void main(){
char str[100] = "1abc2ej34";
printf("%d\n", checkNum(str));
}
아.. -ㅅ- atoi 라는 함수를 이용해서 문자열에 있는 숫자들을 골라내서 그 합을 구하라는 연습문제... atoi를 이용 안해도 되는거였습니다.. 사실 atoi가 골때리는 함수더라고요.. -ㅅ- 34 처럼 연속되는 경우에는 3과 4로 인식을 안하고 34로 인식을 하더라구요 ~_~ ㅋ 하나씩 골라내서 더해야합니다. ㅋㅋ