1. 먼저 이름을 요청하고 이어서 다시 성을 요청한다. 그리고 나서, 성 이름 순으로 출력하는 프로그램을 작성하라.
#include <stdio.h> #define max_words 100 int main(void){ char last_name[max_words], first_name[max_words]; printf("Please write your last name: "); scanf("%s", last_name); printf("Please write your first name: "); scanf("%s", first_name); printf("This is your name: %s %s\n", first_name, last_name); }
2. 이름을 요청하고, 그 이름을 다음과 같은 포멧으로 출력하는 프로그램을 작성하여라.
a. 큰 따옴표로 감싸서 출력한다.
b. 20문자의 필드 너비에 필드 전체를 큰따옴표로 감싸서 출력한다.
c. 20문자의 필드 너비에 왼쪽으로 정렬하여, 필드 전체를 큰따옴표로 감싸서 출력한다.
d. 이름보다 3문자 더 넓은 필드 너비에 출력한다.
#include <stdio.h> #include <stdlib.h> #include <string.h> #define max_words 100 int main(void){ char last_name[max_words]; printf("Please your last name: "); scanf("%s", last_name); printf("Your name is as follows;\n"); printf("1.\"%s\"\n", last_name); printf("2.\"%20s\"\n", last_name); printf("3.\"%-20s\"\n", last_name); printf("4.\"%*s\"\n", (int)strlen(last_name) + 3, last_name); }
3. 하나의 부동소수점을 읽고, 그것을 먼저 소수점 표기로 출력하고, 이어서 지수 표기로 출력하는 프로그램을 작성하여라. 출력 포멧은 다음과 같아야 한다.
a. 입력된 것은 21.3 또는 2.1e+001이다.
b. 입력된 것은 +21.290 또는 2.129E+001이다.
#include <stdio.h> #include <stdlib.h> int main(void){ float number; printf("Please write down one real number:"); scanf("%f", &number); printf("Your number is %f or %e\n", number, number); }
4. 인치 단위의 키와 이름을 요청하여 그 정보를 다음과 같은 포멧으로 출력하는 프로그램을 작성하라.
당신의 키는 6.208 피트입니다.
a. 여기서는 float형을 사용하고 나눗셈을 위해 /를 사용한다. 원한다면, 키를 센티미터 단위로 요청하고 미터 단위로 출력해도 된다.
#include <stdio.h> #include <stdlib.h> #define max_words 100 int main(void){ float height; char last_name[max_words]; printf("Please write your last name: "); scanf("%s", last_name); printf("Please write your height (in inch units): "); scanf("%f", &height); printf("Mr. %s, your height is %f\n", last_name, height); }
5. 먼저 이름을 요청하고, 이어서 성을 요청한다. 입력된 성과 이름을 한 라인에 출력하고 그 다음 라인에는 성과 이름을 구성하는 글자 수를, 다음과 같이, 성과 이름의 끝 글자에 맞추어 작성하여라.
Melissa Honeybee
7 8
그리고 나서 이번에는 다음과 같이 같은 정보를 출력하되 글자수를 성과 이름의 첫 글자에 맞추어 작성하여라.
Melissa Honeybee
7 8
#include <stdio.h> #include <string.h> #define max_words 100 int main(){ char first_name[max_words], last_name[max_words]; printf("Please write your last name: "); scanf("%s", last_name); printf("Please write your first name: "); scanf("%s", first_name); printf("%s %s\n", first_name, last_name); printf("%*d %*d\n", (int)strlen(first_name), (int)strlen(first_name), (int)strlen(last_name), (int)strlen(last_name)); printf("%s %s\n", first_name, last_name); printf("%-*d %-*d\n", (int)strlen(first_name), (int)strlen(first_name), (int)strlen(last_name), (int)strlen(last_name)); }
6. double 형 변수를 1.0/3.0으로 설정하고, float형 변수를 1.0/3.0으로 설정하는 프로그램을 작성하라. 그 결과를 다음과 같은 방법으로 세번 출력한다.
a. 첫번째: 소수점 아래 4자리까지 출력한다.
b. 두번째: 소수점 아래 12자리까지 출력한다.
c. 세번째: 소수점 아래 16자리까지 출력한다.
프로그램에 float.h를 포함시켜, FLT_DIG와 DBL_DIG의 값을 출력하라. 출력된 값들이 이들의 값과 동일한가?
'프로그래밍 문제 > C, C++ Problem' 카테고리의 다른 글
[C/C++] 기초플러스 5장 연습문제 (0) | 2022.03.04 |
---|---|
[C 기초 플러스] 3장 연습문제 (0) | 2022.02.25 |
댓글