이 문제에서는 사용자로부터 입력을 받습니다. 우리의 임무는 C++에서 사용자 입력의 데이터 유형을 찾는 프로그램을 만드는 것입니다.
문제 설명 − 사용자로부터 입력을 받아 입력 값의 데이터 유형을 확인합니다.
문제를 이해하기 위해 예를 들어 보겠습니다.
예시 1:
입력 − 34
출력 - 정수입니다.
예시 2:
입력 - 튜토리얼 포인트
출력 - 문자열입니다.
솔루션 접근 방식:
입력한 문자열이 숫자인지 아닌지 확인합니다.
숫자인 경우 정수인지 부동 소수점 값인지 확인합니다.
숫자가 아니면 문자열인지 확인합니다.
예시
#include <math.h> #include <stdio.h> #include <stdlib.h> int main() { char input[50] = ""; double temp; int intVal; char stringVal[50] = ""; double val = 1e-12; fgets(input, 100, stdin); if (sscanf(input, "%lf", &temp) == 1) { intVal = (int)temp; if (fabs(temp - intVal) / temp > val) printf("The input is a floating point\n"); else printf("The input is an integer\n"); } else if (sscanf(input, "%s", stringVal) == 1) printf("The input is a string\n"); else printf("input not recognized\n"); }
입력:
452
출력:
The input is an integer