Chapter 2 C++ 프로그래밍의 기본
<이론 문제>
1. main()
2. ③ return문 없어도 된다.
3. return 0;
4.
1) 형식 오류, c언어에서는 모든 변수가 실행문 전에 선언되야 하므로 컴파일 에러 발생
2) 프로그램 어디서나 변수 선언이 가능함
3) 변수가 필요할 때 바로바로 선언해서 편리하지만, 변수들이 흩어져있으면 한눈에 보기 힘들다.
5.
I love C++
I love programming
6.
1) using std::cout;
2) using namespace std;
7.
1) #include <iostream>
2) using namespace std;
3) std::cin >> name;
4) std::cout << 1 <<2 <<'a' << "hello" << '\n';
8.
1) 틀린거 없음
2) 틀린거 없음
3) cout << n+200;
4) cout << year << "년"; //더하기 연산자로 출력 불가능
9.
#include <myheader.h>
10.
1) O
2) O
3) O
4) X
5) O
11. <cstring>
12.
1) Kitae님 환영합니다
2) Kitae님 환영합니다
13. ④ ';' 가 입력되면 종료되는 함수이므로 3번째 매개변수를 생략하면 안된다. (기본값이 '\n' 이기때문)
14. ④
15. 네임스페이스
16. std
17. std
18. <iostream>
19. cout << 20 << " " << pDept;
20.
for(int i =1; i<=n; i++ ){
cout << "*";
} cout << "\n";
<실습 문제>
1.
int main() {
for (int i = 1; i <= 100; i++) {
cout << i << "\t";
if (i % 10 == 0) cout << "\n";
}
}
2.
int main() {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
cout << j << "*" << i << "=" << j * i << "\t";
}
cout << "\n";
}
}
3.
int main() {
int a, b;
cout << "두 수를 입력하라>>";
cin >> a >> b;
if (a > b) cout << "큰 수 = " << a;
else cout << "큰 수 = " << b;
}
4.
int main() {
double num[5];
double maximum = -1e9;
cout << "5 개의 실수를 입력하라>>";
for (int i = 0; i < 5; i++) {
cin >> num[i];
maximum = max(maximum, num[i]);
}
cout << "제일 큰 수 = " << maximum;
}
5.
int main() {
char s[100];
int cnt = 0;
cin.getline(s, 100);
for (int i = 0; i < 100; i++) {
if (s[i] == 'x') cnt++;
}
cout << "x의 개수는 " << cnt;
}
6.
int main() {
char s1[100], s2[100];
cout << "새 암호를 입력하세요>>";
cin >> s1;
cout << "새 암호를 다시 한 번 입력하세요>>";
cin >> s2;
if (strcmp(s1, s2) == 0) cout << "같습니다";
else cout << "같지 않습니다";
}
7.
int main() {
while (1) {
char s1[100];
cout << "종료하고싶으면 yes를 입력하세요>>";
cin.getline(s1, 100);
if (strcmp(s1,"yes") == 0) break;
}
cout << "종료합니다...";
}
8.
int main() {
int max = 0;
char s2[100];
cout << "5명의 이름을 ';'으로 구분하여 입력하세요\n>>";
for (int i = 0; i < 5; i++) {
char s1[100];
cin.getline(s1, 100, ';');
if (max < strlen(s1)) {
max = strlen(s1);
strcpy_s(s2, s1);
}
cout << i + 1 << " : " << s1 <<"\n";
}
cout << "가장 긴 이름은 " << s2;
}
9.
int main() {
char name[100], ad[100];
int age;
cout << "이름은?";
cin.getline(name, 100, '\n');
cout << "주소는?";
cin.getline(ad, 100, '\n');
cout << "나이는?";
cin >> age;
cout << name << ", " << ad << ", " << age << "세";
}
10.
int main() {
char s[100];
cout << "문자열 입력>>";
cin >> s;
for (int i = 0; i < strlen(s); i++) {
for (int j = 0; j <= i; j++) {
cout << s[j];
}
cout << "\n";
}
}
11.
#include <iostream>
using namespace std;
int main() {
int k, n = 0;
int sum = 0;
cout << "끝 수를 입력하세요>>";
cin >> n;
for (k = 1; k <= n; k++) {
sum += k;
}
cout << "1에서" << n << "까지의 합은 " << sum << "입니다.\n";
return 0;
}
12.
#include <iostream>
using namespace std;
int sum(int a, int b);
int main() {
int n = 0;
cout << "끝 수를 입력하세요>>";
cin >> n;
cout << "1에서" << n << "까지의 합은 " << sum(1, n) << "입니다.\n";
return 0;
}
int sum(int a, int b) {
int k, res =0;
for (k = a; k <= b; k++) {
sum += k;
}
return res;
}
13.
int main(){
string s[4] = { "짬뽕", "짜장", "군만두", "종료" };
cout << "***** 승리장에 오신 것을 환영합니다. *****\n";
while (1) {
int n1, n2;
cout << "짬뽕:1, 짜장:2, 군만두:3, 종료:4>> ";
cin >> n1;
if (n1 > 4) {
cout << "다시 주문하세요!!\n";
}
else if (n1 > 0 && n1 < 4) {
cout << "몇인분?";
cin >> n2;
cout << s[n1 - 1] << " " << n2 << "인분 나왔습니다\n";
}
else {
cout << "오늘 영업은 끝났습니다.\n";
return 0;
}
}
}
14.
char coffee[100];
int num, sum = 0;
cout << "에스프레소 2000원, 아메리카노 2300원, 카푸치노 2500원입니다.\n";
while (1) {
if (sum >= 20000) {
cout << "오늘은 " << sum << "원을 판매하여 카페를 닫습니다. 내일 봐요~~~";
break;
}
cout << "주문>> ";
cin >> coffee >> num;
if (strcmp(coffee, "에스프레소") == 0) {
cout << 2000 * num << "원입니다. 맛있게 드세요\n";
sum += 2000 * num;
}
else if (strcmp(coffee, "아메리카노") == 0) {
cout << 2300 * num << "원입니다. 맛있게 드세요\n";
sum += 2300 * num;
}
else {
cout << 2500 * num << "원입니다. 맛있게 드세요\n";
sum += 2500 * num;
}
}
15.
while (1) {
int a, b;
char s[10];
cout << "? ";
cin >> a >> s >> b;
if (strcmp(s, "+") == 0) {
cout << a << s << b << " = " << a + b <<"\n";
}
else if (strcmp(s, "-") == 0) {
cout << a << s << b << " = " << a - b << "\n";
}
else if (strcmp(s, "*") == 0) {
cout << a << s << b << " = " << a * b << "\n";
}
else if (strcmp(s, "/") == 0) {
cout << a << s << b << " = " << a / b << "\n";
}
else {
cout << a << s << b << " = " << a % b << "\n";
}
}
문자열 공백으로 분리해서 계산하라는데... 걍 다른 방법으로 했다.
16.
char s[27] = { 'a', 'b', 'c', 'd', 'e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z' };
char buf[10000];
int cnt = 0;
int alp[26] = { 0, };
cout << "영문 텍스트를 입력하세요. 히스토그램을 그립니다.\n";
cout << "텍스트의 끝은 ; 입니다. 10000개까지 가능합니다.\n";
cin.getline(buf, 10000, ';');
for (int i = 0; i < strlen(buf); i++) {
if (isalpha(buf[i])) {
cnt++;
buf[i] = tolower(buf[i]);
alp[buf[i] - 97]++;
}
}
cout << "총 알파벳 수 " << cnt <<"\n";
for (int i = 0; i < 26; i++) {
cout << s[i] << " (" << alp[i] << ") " << ": ";
for (int j = 0; j < alp[i]; j++) {
cout << "*";
}
cout << "\n";
}
짜고나니까 반복문안에 char a부터 z 로하면 되는데 .. 괜히 알파벳 다썼네..
끝! 문제가 생각보다 많다
'Major > C&C++' 카테고리의 다른 글
[C++] 명품 C++ Programming 3장 개념정리 (2) (0) | 2021.07.28 |
---|---|
[C++] 명품 C++ Programming 3장 개념정리 (1) (0) | 2021.07.24 |
[C++] 명품 C++ Programming 2장 개념정리 (0) | 2021.07.10 |
[C++] 명품 C++ Programming 1장 연습문제(이론) (0) | 2021.05.03 |
[C언어] 스택과 큐 구현해보기 (0) | 2021.04.17 |