46.7 연습문제 : 문자열을 10진 정수로 변환하기
문제) 다음 소스 코드를 완성하여 정수 20972가 출력되게 만드세요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
char* s1 = "20972";
int num1;
num1 = atoi(s1);
printf("%d\n", num1);
return 0;
}

46.8 연습문제 : 문자열을 16진 정수로 변환하기
문제) 다음 소스 코드를 완성하여 16진 정수 0x1FACEFEE가 출력되게 만드세요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
char* s1 = "0x1facefee";
int num1;
num1 = strtol(s1, NULL, 16);
printf("0x%X\n", num1);
return 0;
}

46.9 연습문제 : 문자열을 실수로 변환하기
문제) 다음 소스 코드를 완성하여 실수 97.527824이 출력되게 만드세요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
char* s1 = "97.527824";
float num1;
num1 = atof(s1);
printf("%f\n", num1);
return 0;
}

46.10 연습문제 : 여러 개의 실수로 된 문자열을 실수로 변환하기
문제) 다음 소스 코드를 완성하여 실수 29.977213, 4528.112305가 각 줄 마다 출력되게 만드세요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
char* s1 = "29.977213 4528.112305";
float num1;
float num2;
char* end;
num1 = strtof(s1, &end);
num2 = strtof(end, NULL);
printf("%f\n", num1);
printf("%f\n", num2);
return 0;
}

46.11 연습문제 : 숫자를 문자열로 변환하기
문제) 다음 소스 코드를 완성하여 문자열 "98.415237 0x3fce1920"이 출력되게 만드세요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char s1[30];
float num1 = 98.415237f;
int num2 = 0x3fce1920;
sprintf(s1, "%f 0x%x", num1, num2);
printf("%s\n", s1);
return 0;
}

46.12 심사문제 : 문자열을 정수와 실수로 변환하기
문제) 다음 소스 코드를 완성하여 16진 정수, 10진 정수, 실수로 된 문자열이 숫자로 출력되게 만드세요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
char s1[31];
int num1;
int num2;
float num3;
char* end;
scanf("%[^\n]", s1);
num1 = strtol(s1, &end, 16);
num2 = strtol(end, &end, 10);
num3 = strtof(end, NULL);
printf("0x%x\n", num1);
printf("%d\n", num2);
printf("%f\n", num3);
return 0;
}

46.13 심사문제 : 정수와 실수를 문자열로 변환하기
문제) 표준 입력으로 10진 정수와 실수가 입력됩니다. 다음 소스 코드를 완성하여 입력된 정수와 실수가 문자열로 출력되게 만드세요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char s1[10];
char s2[20];
int num1;
float num2;
scanf("%d %f", &num1, &num2);
sprintf(s1, "%d", num1);
sprintf(s2, "%f", num2);
printf("%s\n", s1);
printf("%s\n", s2);
return 0;
}

'스터디 > 코딩' 카테고리의 다른 글
| [ 코딩 도장 : C ] Unit 48. 구조체 사용하기 : 연습문제 / 심사문제 (0) | 2024.07.09 |
|---|---|
| [ 코딩 도장 : C ] Unit 47. 회문 판별과 N-gram 만들기 : 연습문제 / 심사문제 (0) | 2024.07.09 |
| [ 코딩 도장 : C ] Unit 45. 문자열 자르기 : 연습문제 / 심사문제 (0) | 2024.07.09 |
| [ 코딩 도장 : C ] Unit 44. 문자열 검색하기 : 연습문제 / 심사문제 (0) | 2024.07.09 |
| [ 코딩 도장 : C ] Unit 43. 문자열 만들기 : 연습문제 / 심사문제 (0) | 2024.07.09 |