이 문제에서는 사용자로부터 입력을 받습니다. 우리의 임무는 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