c언어 문자열에서 숫자만 가져와서 출력하기
프로그래밍/C, C++2021. 2. 18. 16:15
반응형
/* 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다. 만들어진 자연수와 그 자연수의 약수 개수를 출력합니다. 만약 "fsaknf0012lsaf"에서 숫자만 추출하면 0,0,1,2고 이것을 자연수로 만들면 12가 됩니다. 즉 첫 자리 0은 자연수화 할 때 무시합니다. 출력은 12를 출력하고, 다음 줄에 12의 약수의 개수를 출력하면 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다. */
# include <stdio.h>
int main(){
char a[100];
int res = 0, cnt = 0, i;
scanf("%s", &a);
for(i = 0; a[i]!='\0'; i++) {
if(a[i]>=48 && a[i]<=57) {
res = res * 10 + (a[i]-48);
}
}
printf("자연수 : %d\n",res);
for(i = 1; i<=res; i++) {
if(res%i ==0)
cnt++;
}
printf("약수의 개수 : %d\n",cnt); return 0; }
출처: https://asthtls.tistory.com/53 [포장빵의 IT]
반응형
'프로그래밍 > C, C++' 카테고리의 다른 글
c언어 변수 내용 비우기 (문자열 초기화) (0) | 2021.02.24 |
---|---|
c언어 파일 내용 출력하기 (0) | 2021.02.19 |
c언어 소켓 close 할때 TIME_WAIT 상태로 남아 있는 경우 (0) | 2021.02.16 |
c언어 서버 소켓 종료 후 바로 재사용하기 (bind 실행 에러시) (0) | 2021.02.16 |
c언어 문자열 개행 제거 (두가지 방법) (0) | 2021.02.09 |
댓글()