1. 숫자를 입력받아서 짝수인지 홀수인지
#include <stdio.h>
int main() {
printf("숫자를 입력하세요\n");
int a;
scanf_s("%d", &a);
bool p = a % 2 == 0;
if (p == 1) {
printf("짝수입니다.");
}
else {
printf("홀수입니다.");
}
}
int main() {
printf("숫자를 입력하세요\n");
int a;
scanf_s("%d", &a);
if (a % 2) {
printf("홀수입니다.");
}
else {
printf("짝수입니다.");
}
}
if(1)이면 { } 실행,
if(0)이면 { } 실행 안하고 else 로 넘어가서 실행하니까
바로 if(a%2) 로 적고 홀수입니다 라고 해도 결과는 똑같이 나온다.
2. 세개의 숫자중 가장 큰 수 출력하기 (중첩if문 사용)
(컴퓨터는 a>b>c 이렇게 세개를 비교하는걸 못한다.)
#include <stdio.h>
int main() {
int a, b, c;
scanf_s("%d%d%d", &a, &b, &c);
if (a > b) {
if (a > c) {
printf("%d는 최대값입니다.\n", a);
}
else {
printf("%d는 최대값입니다.", c);
}
}
else {
if (b > c) {
printf("%d는 최대값입니다.", b);
}
else {
printf("%d는 최대값입니다.", c);
}
}
}
중첩 if문 안쓰고 && 사용해서 만들기
#include <stdio.h>
int main() {
int a, b, c;
scanf_s("%d%d%d", &a, &b, &c);
if (a > b && a > c) {
printf("%d가 최대값", a);
}
else if (b > a && b > c) {
printf("%d가 최대값", b);
}
else
{
printf("%d가 최대값", c);
}
}
if 문이나 else 문 안에 문장이 하나만 있으면 중괄호 없애도 된다.
#include <stdio.h>
//세개의 숫자중 가장 큰 수 출력하기
int main() {
int a, b, c;
scanf_s("%d%d%d", &a, &b, &c);
if (a > b && a > c) printf("%d", a);
else if (b > a && b > c) printf("%d", b);
else printf("%d", c);
}
3. 세개의 숫자를 입력 받고 큰 숫자부터 작은 숫자 순서로 나열해서 출력하기
경우의 수 먼저 생각 -> 숫자가 a,b,c 일때 6가지 경우의 수가 생긴다.
a b c
a c b
b a c
b c a
c a b
c b a
#include <stdio.h>
int main() {
int a, b, c;
scanf_s("%d%d%d", &a, &b, &c);
if (a > b && a > c) {
if (b > c) {
printf("%d %d %d", a, b, c);
}
else {
printf("%d %d %d", a, c, b);
}
}
else if (b > a && b > c) {
if (a > c) {
printf("%d %d %d", b, a, c);
}
else {
printf("%d %d %d", b, c, a);
}
}
else {
if (a > b) {
printf("%d %d %d", c, a, b);
}
else {
printf("%d %d %d",c, b, a);
}
}
}
4. 스위치문 switch
#include <stdio.h>
int main() {
int choice;
printf(" 새 게임 : 1\n");
printf("불러오기 : 2\n");
printf("설정 : 3\n");
printf("크레딧 : 4\n");
scanf_s("%d", &choice);
if (choice == 1) {
printf("새게임\n");
}
else if (choice == 2) {
printf("불러오기\n");
}
else if (choice == 3) {
printf("설정\n");
}
else if (choice == 4) {
printf("크레딧\n");
}
else {
printf("잘못입력\n");
}
}
int main() {
int choice;
printf(" 새 게임 : 1\n");
printf("불러오기 : 2\n");
printf("설정 : 3\n");
printf("크레딧 : 4\n");
scanf_s("%d", &choice);
switch (choice) {
case 1: printf("새게임\n");
break;
case 2: printf("불러오기\n");
break;
case 3:printf("설정\n");
break;
case 4:printf("크레딧\n");
break;
default: printf("잘못입력");
break;
}
}
* switch 문에서는 case 마다 break; 써줘야 된다.
안쓰면 밑으로 계속 실행됨
* goto
다시 실행시킬 부분에다가 makeChoice: 라고 입력하고
잘못입력 부분에다가 goto makeChoice; 쓰면 goto 뒤에있는 단어(makeChoice)를 찾아가서 그부분부터 다시 실행됨
#include <stdio.h>
int main() {
int choice;
makeChoice:
printf(" 새 게임 : 1\n");
printf("불러오기 : 2\n");
printf("설정 : 3\n");
printf("크레딧 : 4\n");
scanf_s("%d", &choice);
switch (choice) {
case 1: printf("새게임\n");
break;
case 2: printf("불러오기\n");
break;
case 3:printf("설정\n");
break;
case 4:printf("크레딧\n");
break;
default: printf("잘못입력\n");
goto makeChoice;
break;
}
}
결과 :
새 게임 : 1
불러오기 : 2
설정 : 3
크레딧 : 4
6
잘못입력
새 게임 : 1
불러오기 : 2
설정 : 3
크레딧 : 4
근데 goto 쓰면 코드가 지저분해지므로 안쓰는게 좋음
5. while 문
while 다음 ( ) 안에 조건이 참이라면 실행
#include<stdio.h>
int main() {
int i = 1;
while (i <= 10) {
printf("%d\n", i);
i++;
}
}
결과 :
1
2
3
4
5
6
7
8
9
10
6. do while 문
조건을 만족하든 안하든 처음 한번은 무조건 실행
#include<stdio.h>
int main() {
int i = 19;
do {
printf("%d\n", i);
i++;
} while (i <= 10);
}
7. 무한반복
#include<stdio.h>
int main() {
int i = 1;
while(true) {
printf("%d", i);
i++;
}
}
while 뒤에 (true)라고 적어주면 영원히 실행된다.
8.
#include<stdio.h>
int main() {
int n;
do {
printf("제발 0을 입력해주세요;\n");
scanf_s("%d", &n);
} while (n != 0);
printf("드디어 0을 입력했네요");
}
n 이 0이 아닐때는 계속 { } 실행하다가 n = 0이 되면 탈출해서 다음 코드 실행
결과 :
9. for 문
1부터 10까지 출력해라.
int main() {
for (int i = 1; i <= 10; i++) {
printf("%d\n", i);
}
}
for문
1. 일정하게 증가/ 감소 되는 변수가 필요할 때.
2. 배열의 모든 원소에 순차적으로 접근하고 싶을 때
3. 특정 횟수만큼 작업을 반복하고 싶을 때
10. for문을 이용해서 1,2,4,6,8...출력하기
#include<stdio.h>
//1,2,4,8,16,.. 출력하기
int main() {
int n;
scanf_s("%d", &n);
for (int i = 1; i <n; i *= 2) {
printf("%d\n", i);
}
}
for문 괄호 안에 i ++ 대신에 i = i *2 , 또는 i *= 2 넣는다.
결과 :
11. n을 입력받아서 1~n까지의 합 구하기
#include<stdio.h>
//1~ n까지의 합을 출력하기
int main() {
int n;
scanf_s("%d", &n);
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
printf("%d\n", sum);
}
* 1~n 까지의 수 중에서 홀수만 더하기
int main() {
int n;
scanf_s("%d", &n);
int sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 2) {
sum += i;
}
}
printf("%d\n", sum);
}
* 1~n까지의 수 중에서 짝수만 더하기
int main() {
int n;
scanf_s("%d", &n);
int sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 2) {
}
else {
sum += i;
}
}
printf("%d\n", sum);
}
12. 입력받은 n 만큼 별 찍기
#include<stdio.h>
int main() {
int n;
scanf_s("%d", &n);
for (int i = 1; i <= n; i++) {
printf("*");
}
}
13. 피라미드 별찍기
#include<stdio.h>
int main() {
int n;
scanf_s("%d", &n);
for (int i = 0; i < n; i++) {
for (int j = i; j < n - 1; j++)
{
printf(" ");
}
for (int k = 0; k < 1 + (i * 2); k++)
{
printf("*");
}
printf("\n");
}
}
'개발자' 카테고리의 다른 글
두들낙서 20강, 21강 정리 - 배열 (거꾸로 출력, 최대 최소, 짝수의 개수) (0) | 2022.06.16 |
---|---|
두들낙서 17강~19강 while을 for 로 바꿔보기, 중첩 for 문 예제들 (0) | 2022.06.16 |
두들낙서 C/C++강좌 7강, 8강, 9강 (0) | 2022.06.14 |
3.76시간은 몇시간, 몇분, 몇 초인지 출력하세요 (0) | 2022.05.02 |
if문 기초 연습문제, 자료형 크기비교, 시간 출력 (0) | 2022.04.29 |
댓글