๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • Welcome.
:: C_ ๐Ÿšฉ/๊ธฐ์ดˆ

[C์–ธ์–ด] #04 - ๋ฐ˜๋ณต๋ฌธ, while, for, do while, continue -

by EunBird 2021. 2. 14.

๋ฐ˜๋ณต๋ฌธ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ธฐ์ „์—

๋‚ด๊ฐ€ ๊ณ ๋ฏผํ•˜๋‹ค ํ’€์ง€ ๋ชปํ•œ ํ•œ ์˜ˆ์ œ์— ๋Œ€ํ•ด ์• ๊ธฐํ•ด๋ณด๊ฒ ๋‹ค.

ใ…กใ…กใ…กใ…กใ…ก


์ ์ˆ˜์ž…๋ ฅ: (์ •์ˆ˜)
0~79 : C
80~89 : B
90~100 : A

ใ…กใ…กใ…กใ…กใ…ก

์œ„์™€ ๊ฐ™์€ ๊ธฐ์ค€์„ ๊ฐ€์ง„ ํ•™์ ์ธก์ • ํ”„๋กœ๊ทธ๋žจ์„ switch๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ค์–ด๋ณด์ž.

๊ฐ ํ•™์ ์˜ ์ ์ˆ˜๋“ค์€ ๊ณตํ†ต์ ์ด ์กด์žฌํ•˜๋Š”๋ฐ, 

๊ฐ๊ฐ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ์ด 7, 8, 9 ํ˜น์€ 10์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘์„ฑํ•ด๋ณด๊ฒ ๋‹ค.

ใ…กใ…กใ…กใ…กใ…ก

int num;   //num๋ผ๋Š” ์ •์ˆ˜๊ณต๊ฐ„ ์ƒ์„ฑ.

print("์ •์ˆ˜์ž…๋ ฅ: \n");  

scanf("%d", &num);  //์ž…๋ ฅํ•œ ์ˆ˜๋ฅผ num์— ์ €์žฅ.

 

switch (num/10)  {  //ํ•ด๋‹น: num์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ.

     case 7:

        printf("C");

        break;

     case 8:

        printf("B");

        break;

     case 9:

     case 10:

        printf("A");

        break;

}

int num;   //num๋ผ๋Š” ์ •์ˆ˜๊ณต๊ฐ„ ์ƒ์„ฑ.

print("์ •์ˆ˜์ž…๋ ฅ: \n");  

scanf("%d", &num);  //์ž…๋ ฅํ•œ ์ˆ˜๋ฅผ num์— ์ €์žฅ.



switch (num/10)  {  //ํ•ด๋‹น: num์„ 10์œผ๋กœ ๋‚˜๋ˆˆ ๋ชซ.

     case 7:

        printf("C");

        break;

     case 8:

        printf("B");

        break;

     case 9:

     case 10:

        printf("A");

        break;

}

์ง€๊ธˆ๋ถ€ํ„ฐ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋ฐ˜๋ณต๋ฌธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

while๋ฌธ: if๋ฌธ๊ณผ ๋น„์Šทํ•œ ์ ์ด ๊ฝค ์กด์žฌํ•œ๋‹ค. **

๋จผ์ € ์ด ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ์•Œ์•„๋ณด๊ฒ ๋‹ค.

ใ…กใ…กใ…กใ…กใ…ก

int num;  //num๋ผ๋Š” ๊ณต๊ฐ„ ์ƒ์„ฑ.
printf("์ •์ˆ˜์ž…๋ ฅ: ");
scanf("%d", &num);  //์ž…๋ ฅํ•œ ์ˆซ์ž๋ฅผ num์— ์ €์žฅ.

int i = 1; //์ •์ˆ˜๊ณต๊ฐ„ i๋ฅผ ๋งŒ๋“ค๊ณ  1์„ ์ €์žฅ.
while (i<=num) { //์กฐ๊ฑด: i๊ฐ€ num์ดํ•˜์ธ๊ฐ€?
printf("%d ",i);   //i๊ฐ’ ์ถœ๋ ฅ.
i++;   //i์— 1๋”ํ•จ.
}
printf("\n");

ใ…กใ…กใ…กใ…กใ…ก

int num;  //num๋ผ๋Š” ๊ณต๊ฐ„ ์ƒ์„ฑ.
printf("์ •์ˆ˜์ž…๋ ฅ: ");
scanf("%d", &num);  //์ž…๋ ฅํ•œ ์ˆซ์ž๋ฅผ num์— ์ €์žฅ.

int i = 1; //์ •์ˆ˜๊ณต๊ฐ„ i๋ฅผ ๋งŒ๋“ค๊ณ  1์„ ์ €์žฅ.
while (i<=num) { //์กฐ๊ฑด: i๊ฐ€ num์ดํ•˜์ธ๊ฐ€?
printf("%d ",i);   //i๊ฐ’ ์ถœ๋ ฅ.
i++;   //i์— 1๋”ํ•จ.
}
printf("\n");

์ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์™œ ์ด๋Ÿฐ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š”๊ฒƒ์ผ๊นŒ?

 

**๋””๋ฒ„๊น… ํ‘œ๋ฅผ ๊ทธ๋ ค๋ณด์ž**

num์— 3์„ ์ž…๋ ฅํ•œ ์ƒํ™ฉ.

i i<=num ์ฐธ/๊ฑฐ์ง“ (์‹คํ–‰์—ฌ๋ถ€)
1 1<=3 T -> ์‹คํ–‰o, i++
2 2<=3 T -> ์‹คํ–‰o, i++
3 3<=3 T -> ์‹คํ–‰o, i++
4 4<=3 F -> ์‹คํ–‰x

์ด๋Ÿฐ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

์ด๋•Œ ์ˆซ์ž๋Š” 3๊นŒ์ง€๋งŒ ์ถœ๋ ฅ๋˜์ง€๋งŒ 

**i์˜ ๊ฐ’์€ 4๊นŒ์ง€ ์ฆ๊ฐ€ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ดํ•ดํ•˜๊ณ ์žˆ์–ด์•ผํ•œ๋‹ค.**

ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก

์ด๋ฒˆ์—” ์ด ์‹œ์Šคํ…œ์„ ํ•œ๋ฒˆ ํ™•์ธํ•ด๋ณด๊ฒ ๋‹ค.

 

ใ…กใ…กใ…กใ…กใ…ก

int a, b;  //a์™€ b๋ผ๋Š” ์ •์ˆ˜๊ณต๊ฐ„ ์ƒ์„ฑ.
printf("์ •์ˆ˜1 ์ž…๋ ฅ: ");
scanf("%d", &a);  //a์— ์ €์žฅ.
printf("์ •์ˆ˜2 ์ž…๋ ฅ: ");
scanf("%d", &b);  //b์— ์ €์žฅ

// *[๊ตํ™˜]* -> "์ž„์‹œ์ €์žฅ๋ณ€์ˆ˜"
if (a > b) {  //์กฐ๊ฑด๋ฌธ: a๊ฐ€ b ์ดˆ๊ณผ์ธ๊ฐ€?
int tmp = a;  //tmp: ์ž„์‹œ์ €์žฅ๋ณ€์ˆ˜
a = b;
b = tmp;
}

int i = a;  //i๋ผ๋Š” ์ •์ˆ˜๊ณต๊ฐ„์— a๊ฐ’์„ ์ €์žฅ.
while (i <= b) {  //์กฐ๊ฑด: i๊ฐ€ b์ดํ•˜์ธ๊ฐ€?
printf("%d ", i);
i++;   //i๊ฐ’์— 1 ์ถ”๊ฐ€.
}

ใ…กใ…กใ…กใ…กใ…ก

int a, b;  //a์™€ b๋ผ๋Š” ์ •์ˆ˜๊ณต๊ฐ„ ์ƒ์„ฑ.
printf("์ •์ˆ˜1 ์ž…๋ ฅ: ");
scanf("%d", &a);  //a์— ์ €์žฅ.
printf("์ •์ˆ˜2 ์ž…๋ ฅ: ");
scanf("%d", &b);  //b์— ์ €์žฅ

// *[๊ตํ™˜]* -> "์ž„์‹œ์ €์žฅ๋ณ€์ˆ˜"
if (a > b) {  //์กฐ๊ฑด๋ฌธ: a๊ฐ€ b ์ดˆ๊ณผ์ธ๊ฐ€?
	int tmp = a;  //tmp: ์ž„์‹œ์ €์žฅ๋ณ€์ˆ˜
	a = b;
	b = tmp;
}

int i = a;  //i๋ผ๋Š” ์ •์ˆ˜๊ณต๊ฐ„์— a๊ฐ’์„ ์ €์žฅ.
while (i <= b) {  //์กฐ๊ฑด: i๊ฐ€ b์ดํ•˜์ธ๊ฐ€?
	printf("%d ", i);
	i++;   //i๊ฐ’์— 1 ์ถ”๊ฐ€.
}

10๊ณผ 5๋ฅผ ๊ฐ๊ฐ ์ž…๋ ฅํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

10๊ณผ 5 ์ž…๋ ฅ.

์™œ ๊ทธ๋ ‡๊ฒŒ ๋‚˜์˜ค๋Š” ๊ฑธ๊นŒ?

๋จผ์ €, if์ ˆ์—์„œ a>b๊ฐ€ ์ฐธ์ธ ๊ฒฝ์šฐ์ด๊ธฐ ๋•Œ๋ฌธ์—, 

a=5 , b=10์œผ๋กœ ๋ฐ”๋€œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

*๋””๋ฒ„๊น…ํ‘œ*

i i<=b ์ฐธ/๊ฑฐ์ง“ (์‹คํ–‰์—ฌ๋ถ€)
5 5<=10 T->์‹คํ–‰o, i++
6 6<=10 T->์‹คํ–‰o, i++
7 7<=10 T->์‹คํ–‰o, i++
8 8<=10 T->์‹คํ–‰o, i++
9 9<=10 T->์‹คํ–‰o, i++
10 10<=10 T->์‹คํ–‰o, i++
11 11<=10 F->์‹คํ–‰x

์ด๋Ÿฐ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

 

**

๋ฌผ๋ก 

int min = a < b ? a : b;
int max = a > b ? a : b;

๋ฅผ ํ†ตํ•ด ์œ„์˜ if์ ˆ ์—†์ด ํ•ด๊ฒฐํ•  ์ˆ˜ ๋„ ์žˆ๋‹ค.


์ด๋ฒˆ์—” do-while๋ฌธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ๋‹ค.

while๋ฌธ
-์ตœ์†Œ์ˆ˜ํ–‰ํšŸ์ˆ˜ 0ํšŒ
-์„ ์กฐ๊ฑด ํ›„์ฒ˜๋ฆฌ

do-while๋ฌธ
-์ตœ์†Œ์ˆ˜ํ–‰ํšŸ์ˆ˜ 1ํšŒ
-์„ ์ฒ˜๋ฆฌ ํ›„์กฐ๊ฑด

ใ…กใ…กใ…กใ…กใ…ก

๋‹ค์Œ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ์•Œ์•„๋ณด๊ฒ ๋‹ค.

int num; // ์“ฐ๋ ˆ๊ธฐ๊ฐ’
printf("===๋ฉ”๋‰ดํŒ===\n");

do  //์ผ๋‹จ {}๋ธ”๋ก๊ตฌ๊ฐ„์„ ๋จผ์ € ์ˆ˜ํ–‰.
printf("1.์•„๋ฉ”๋ฆฌ์นด๋…ธ\n");
printf("2.์นดํŽ˜๋ผ๋–ผ\n");
printf("3.ํ”„๋ผํ‘ธ์น˜๋…ธ\n");
printf("์ž…๋ ฅ: ");
scanf("%d", &num);  //num๊ฐ’์„ ์—ฌ๊ธฐ์„œ ๋ถ€์—ฌ๋ฐ›์Œ.
while (num < 1 || 3 < num); //์กฐ๊ฑด์ด ์ฐธ์ด๋ฉด {}๋ธ”๋ก๊ตฌ๊ฐ„์„ ๋‹ค์‹œ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ฑฐ์ง“์ด๋ฉด ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Œ.

ใ…กใ…กใ…กใ…กใ…ก

4์ž…๋ ฅ -> 0์ž…๋ ฅ -> 1์ž…๋ ฅ.

**while๋ฌธ์ด ์•„๋‹Œ do-while๋ฌธ์„ ์“ฐ๋Š” ์ด์œ ๋Š” ๋ญ˜๊นŒ?**

 

๊ทธ ์ด์œ ๋Š” while๋ฌธ์„ ์“ธ ๊ฒฝ์šฐ ์กฐ๊ฑด๋ฌธ์ด ๋จผ์ € ์“ฐ์ด๊ธฐ ๋•Œ๋ฌธ์—

์กฐ๊ฑด๋ฌธ์— ์“ฐ์ด๋Š” num๊ฐ’์ด ํ•„์š”ํ•œ๋ฐ, 

๊ทธ num๊ฐ’์€ {}๋ธ”๋ก๊ตฌ๊ฐ„์„ ์ ์–ด๋„ ํ•œ๋ฒˆ ์ˆ˜ํ–‰ํ•ด์•ผ ๋ถ€์—ฌ๋ฐ›์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

๋ฐ˜๋Œ€๋กœ, do-while๋ฌธ์€ ์กฐ๊ฑด๋ฌธ์ด {}๋ธ”๋ก๊ตฌ๊ฐ„ ํ›„์— ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— 

num๊ฐ’์„ ์ด๋ฏธ ๋ถ€์—ฌ๋ฐ›์€ ์ƒํƒœ์—์„œ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก

์ด๋ฒˆ์—” ์ˆซ์ž2๊ฐœ์™€ +, - ๋‘˜์ค‘ ํ•˜๋‚˜๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ด๋ฅผ ๊ณ„์‚ฐํ•ด์ฃผ๋Š” ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์–ด๋ณด๊ฒ ๋‹ค.

ใ…กใ…กใ…กใ…กใ…ก

int a, b;   //a์™€ b๋ผ๋Š” ์ •์ˆ˜๊ณต๊ฐ„ ์ƒ์„ฑ.
printf("์ •์ˆ˜1 ์ž…๋ ฅ: ");
scanf("%d", &a);  
printf("์ •์ˆ˜2 ์ž…๋ ฅ: ");
scanf("%d", &b);

char op;  //op๋ผ๋Š” ๋ฌธ์ž๊ณต๊ฐ„ ์ƒ์„ฑ.
do  //์ผ๋‹จ {}๋ธ”๋ก๊ตฌ๊ฐ„ ํ•œ๋ฒˆ์‹คํ–‰.
printf("์—ฐ์‚ฐ์ž ์ž…๋ ฅ: ");
scanf(" %c", &op);  //์ž…๋ ฅํ•œ ๋ฌธ์ž๋ฅผ op์— ์ €์žฅ.
while (op != '+' && op != '-');  //์กฐ๊ฑด: op๊ฐ€ '+'๊ฐ€ ์•„๋‹ˆ๊ณ  '-'๋„ ์•„๋‹Œ๊ฐ€? ->์ฐธ: ๋ธ”๋ก๊ตฌ๊ฐ„ ์žฌ์ˆ˜ํ–‰.
                                                                                          //    ->๊ฑฐ์ง“: ๋‹ค์Œ์œผ๋กœ ์ด๋™.
if (op == '+') { //์กฐ๊ฑด๋ฌธ: op๊ฐ€ '+'์ธ๊ฐ€?
printf("%d\n", a + b);
}
else {   //๋‚˜๋จธ์ง€ ๋ชจ๋“ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด {}๋ธ”๋ก๊ตฌ๊ฐ„ ์ˆ˜ํ–‰.
printf("%d\n", a - b);
}

ใ…กใ…กใ…กใ…กใ…ก

10 -> 3 -> a -> / -> +์ž…๋ ฅ.


while๊ณผ for์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์–˜๊ธฐํ•ด๋ณด์ž.

 

-while: ๋ถˆ๋ถ„๋ช…ํ•œ ๋ฐ˜๋ณตํšŸ์ˆ˜, ์˜์›ํžˆ(๋ฌดํ•œ๋ฃจํ”„), ํŠน์ •์กฐ๊ฑด์„ ๋งŒ์กฑํ• ๋•Œ๊นŒ์ง€

-for: ๋ถ„๋ช…ํ•œ ๋ฐ˜๋ณตํšŸ์ˆ˜, NํšŒ, x๋ฒˆ, ๋ฒ”์œ„๊ฐ€ ์ฃผ์–ด์กŒ์„๋•Œ,๋ฐฐ์—ด๊ณผ ํ•จ๊ป˜

 

ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก

๋‹ค์Œ ์˜ˆ์‹œ๋ฅผ ๋ด๋ณด์ž.

ใ…กใ…กใ…กใ…กใ…ก

while (1) {  // {}๋ธ”๋ก๊ตฌ๊ฐ„์„ ๋ฌด์กฐ๊ฑด ์ˆ˜ํ–‰.

int num;  //num์ •์ˆ˜๊ณต๊ฐ„ ์ƒ์„ฑ.
printf("์ •์ˆ˜์ž…๋ ฅ: ");
scanf("%d", &num);  //num์— ์ •์ˆ˜ ์ €์žฅ.

if (num < 0) {  //์กฐ๊ฑด: num์ด 0๋ฏธ๋งŒ์ธ๊ฐ€?
break // break: ์ž์‹ ์ด ์†ํ•ด์žˆ๋Š”๋ฐ˜๋ณต๋ฌธ์„ "์ฆ‰์‹œ" ์ข…๋ฃŒ์‹œํ‚ค๋Š” ํ‚ค์›Œ๋“œ . while๋ฌธ ๋ฐ–์œผ๋กœ ์ด๋™๋จ 
                  }                                                                                    

printf("์ž…๋ ฅํ•˜์‹  ์ •์ˆ˜๋Š” %d์ž…๋‹ˆ๋‹ค.\n", num);                                           
}                                                                                                      


printf("ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค..\n");

 

//์œ„์™€๊ฐ™์€ ๋ฌดํ•œ๋ฃจํ”„๋Š” ์ข…๋ฃŒ์กฐ๊ฑด์ด ์—†์œผ๋ฉด ์ข…๋ฃŒ์‹œํ‚ฌ ์ˆ˜ ์—†๋‹ค. -> cmd.exe์—์„œ [๊ฐ•์ œ์ข…๋ฃŒ]: ctrl+C

//"์ข…๋ฃŒ์กฐ๊ฑด"์„ ํ•„์š”๋กœ ํ•œ๋‹ค.

ใ…กใ…กใ…กใ…กใ…ก

1์ž…๋ ฅ, 2์ž…๋ ฅ, 3์ž…๋ ฅ, -1์ž…๋ ฅ


๋‹ค์Œ ์‹œ์Šคํƒฌ์— ๋Œ€ํ•ด์„œ๋„ ์•Œ์•„๋ณด์ž.

 

ใ…กใ…กใ…กใ…กใ…ก

int num;  //num์ •์ˆ˜๊ณต๊ฐ„์ƒ์„ฑ.
int cnt1 = 0, cnt2 = 0;   //cnt1, cnt2 ๊ฐ๊ฐ ์ง์ˆ˜, ํ™€์ˆ˜ ์ •์ˆ˜๊ณต๊ฐ„์ƒ์„ฑ.
while (1) {  // "์ข…๋ฃŒ์กฐ๊ฑด" ๋ฏธ๊ตฌํ˜„
printf("์ •์ˆ˜์ž…๋ ฅ: ");
scanf("%d", &num);  //num์— ์ˆซ์ž ์ €์žฅ.

if (num <= 0) {  //์กฐ๊ฑด๋ฌธ: num์ด 0์ดํ•˜์ธ๊ฐ€?
break // '๋‹น์žฅ' ์ด ๋ฐ˜๋ณต๋ฌธ ๋ฐ–์œผ๋กœ ์ด๋™. 
}
else if (num % 2) {  //์กฐ๊ฑด๋ฌธ: num์„ 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ’์€? 
cnt2++;   //cnt2์— 1์ถ”๊ฐ€. (ํ™€์ˆ˜์ธ ๊ฒฝ์šฐ)
}
else {
cnt1++;   //cnt1์— 1์ถ”๊ฐ€. (์ง์ˆ˜์ธ ๊ฒฝ์šฐ)
}
// ๋‹ค์‹œ ๋ฐ˜๋ณต
}
printf("์ง์ˆ˜๋Š” %d๋ฒˆ, ํ™€์ˆ˜๋Š” %d๋ฒˆ ์ž…๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n", cnt1, cnt2);

ใ…กใ…กใ…กใ…กใ…ก

1, 2, 3, 4, 5, 6, 0 ์ž…๋ ฅ.


์ด ์‹œ์Šคํ…œ์„ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด์ž.

์ž…๋ ฅํ•œ ์ˆ˜๋“ค์˜ ํ‰๊ท ๊ณผ ์ž…๋ ฅํ•œ ์ˆ˜๋“ค์˜ ์ ˆ๋Œ“๊ฐ’์˜ ํ•ฉ์„ ์•Œ๋ ค์ฃผ๊ณ ,

0์„ ์ž…๋ ฅํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

ใ…กใ…กใ…กใ…กใ…ก

int num;  //num ์ •์ˆ˜๊ณต๊ฐ„ ์ƒ์„ฑ.
int sum = 0;  //sum๊ณต๊ฐ„ ์ƒ์„ฑ ํ›„ 0 ์ €์žฅ.
int cnt = 0;   //cnt๊ณต๊ฐ„ ์ƒ์„ฑ ํ›„ 0์ €์žฅ.
while (1) {   //๋ฌดํ•œ๋ฃจํ”„ ์ƒ์„ฑ.
printf("์ •์ˆ˜์ž…๋ ฅ: ");
scanf("%d", &num);  //num๊ฐ’์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.

if (num == 0) {  // ์ข…๋ฃŒ์กฐ๊ฑด : num์ด 0์ธ ๊ฒฝ์šฐ ๋ฐ˜๋ณต๋ฌธ ๋ฐ–์œผ๋กœ ์ฆ‰์‹œ ์ด๋™.
break;
     }
else if (num < 0) {  //์กฐ๊ฑด๋ฌธ: num์ด 0๋ฏธ๋งŒ์ธ ๊ฒฝ์šฐ.

num *= (-1);  //์ ˆ๋Œ“๊ฐ’์ด ํ•„์š”ํ•˜๋ฏ€๋กœ (-1)์„ ๊ณฑํ•ด์ค€๋‹ค.

     }
sum += num;  // ์ž…๋ ฅ๋œ ์ˆ˜๋“ค์˜ ์ ˆ๋Œ“๊ฐ’์˜ ํ•ฉ์„ sum์— ์ €์žฅ.
cnt++;    //์ˆซ์ž๋ฅผ ํ•˜๋‚˜ ์ž…๋ ฅํ•  ๋•Œ ๋งˆ๋‹ค ๋‚˜๋ˆ„์–ด์ฃผ๋Š” ์ˆ˜์ธ cnt์— 1์„ ์ถ”๊ฐ€.
}
double avg=sum*1.0/cnt;
printf("์ดํ•ฉ์€ %d์ด๊ณ , ํ‰๊ท ์€ %.2lf์ž…๋‹ˆ๋‹ค.\n", sum,avg ); 

ใ…กใ…กใ…กใ…กใ…ก

1์ž…๋ ฅ, -3์ž…๋ ฅ, 4์ž…๋ ฅ, 0์ž…๋ ฅ.

์™œ ์ด๋Ÿฐ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ๊นŒ? 

**๋””๋ฒ„๊น…ํ‘œ**๋ฅผ ๊ทธ๋ ค ๋ณด๊ฒ ๋‹ค.

๋””๋ฒ„๊น…ํ‘œ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

๋”ฐ๋ผ์„œ avg๋Š” 8*1.0/3  ์ด๋ฏ€๋กœ 

2.67์ธ ๊ฒƒ์ด๋‹ค.


์ด ์‹œ์Šคํ…œ์€ ์ž…๋ ฅํ•œ ์ˆ˜๊ฐ€ "์ง์ˆ˜"์ผ ๋•Œ๋งŒ "์ง!"์„ ์ถœ๋ ฅํ•˜๋Š” ์‹œ์Šคํ…œ์ด๋‹ค.

ํ™•์ธํ•ด๋ณด์ž.

ใ…กใ…กใ…กใ…กใ…ก

int num;  //num์ •์ˆ˜๊ณต๊ฐ„ ์ƒ์„ฑ.
while (1) {  //๋ฌดํ•œ๋ฃจํ”„ ์ƒ์„ฑ.
printf("์ •์ˆ˜์ž…๋ ฅ: ");
scanf("%d", &num);  //num์— ์ˆซ์ž ์ €์žฅ.

 

if (num <= 0) {  //์กฐ๊ฑด๋ฌธ: num์ด 0์ดํ•˜์ธ๊ฐ€?
break;   //์ฆ‰์‹œ ๋ฐ˜๋ณต๋ฌธ ๋ฐ–์œผ๋กœ ์ด๋™.
}
else if (num % 2) {  //์กฐ๊ฑด๋ฌธ: num์„ 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋Š”?
continue // continue: "์ฆ‰์‹œ" ํ•ด๋‹นํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ์˜ ์ฒ˜์Œ์œผ๋กœ ์ด๋™
}
printf("์ง!\n");

ใ…กใ…กใ…กใ…กใ…ก

2, 3, 4, 1, 0 ์ž…๋ ฅ.

ใ…กใ…กใ…กใ…กใ…ก


a~z ์ค‘์—์„œ f์™€ k๋งŒ ๋นผ๊ณ  ๋ชจ๋‘ ์ถœ๋ ฅ๋˜๋Š” ์‹œ์Šคํ…œ์ด๋‹ค.

์–ด๋–ป๊ฒŒ ์ด๋Ÿด์ˆ˜ ์žˆ์„๊นŒ?

ใ…กใ…กใ…กใ…กใ…ก

char c = 'a' - 1;  //๋ฌธ์ž๊ณต๊ฐ„c์— 'a'-1 ์„ ์ €์žฅ.
while (1) {   //๋ฌดํ•œ๋ฃจํ”„  ์ƒ์„ฑ.
c++;  // ์œ„์น˜์— ์œ ์˜!

 

if (c == 'f' || c == 'k') {   //์กฐ๊ฑด๋ฌธ: c๊ฐ€ f ์ด๊ฑฐ๋‚˜ c๊ฐ€ k์ธ๊ฐ€?
continue;    //์ฆ‰์‹œ ๋ฐ˜๋ณต๋ฌธ ์ฒ˜์Œ์œผ๋กœ ์ด๋™.
   }
printf("%c ", c);  //๋ฌธ์ž๊ณต๊ฐ„ c์˜ ๊ฐ’ ์ถœ๋ ฅ.

 

if (c == 'z') {  // ์œ„์น˜์— ์œ ์˜!
break;   // z ๊ฐ€ ์ถœ๋ ฅ๋œ ํ›„์—๋Š” ๋ฉˆ์ถฐ์•ผ ํ•˜๋ฏ€๋กœ break์„ ํ†ตํ•ด ๋ฐ˜๋ณต๋ฌธ ๋ฐ–์œผ๋กœ ์ด๋™.
   }
}

ใ…กใ…กใ…กใ…กใ…ก

c์˜ ๋ฌธ์ž๊ฐ€ f ๊ฐ€ ๋˜๋ฉด, ์ฒซ๋ฒˆ์งธ if๋ฌธ์—์„œ {}๋ธ”๋ก๊ตฌ๊ฐ„์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋˜์–ด์„œ

๊ฐ’์ด ์ถœ๋ ฅ๋˜์ง€ ๋ชปํ•˜๊ณ  continue๋ฌธ ์— ์˜ํ•ด ๋ฐ˜๋ณต๋ฌธ ์ฒ˜์Œ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

-k์ผ ๋•Œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. -

 

z๊ฐ€ ๋˜์—ˆ์„ ๋•Œ๋Š” ๋‘๋ฒˆ์งธ if๋ฌธ์—์„œ {}๋ธ”๋ก๊ตฌ๊ฐ„์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

๋”ฐ๋ผ์„œ break๋ฌธ์— ์˜ํ•ด ๋ฐ˜๋ณต๋ฌธ ๋ฐ–์œผ๋กœ ์ฆ‰์‹œ ์ด๋™ํ•˜๊ฒŒ ๋˜์–ด 

์‹œ์Šคํ…œ์ด ์ข…๋ฃŒ๋œ๋‹ค.


์ง€๊ธˆ๋ถ€ํ„ด for๋ฌธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ๋‹ค. 

 

for๋ฌธ์˜ ๊ธฐ๋ณธ๊ผด์€ 

 

for (์ดˆ๊ธฐ์‹ ; ์กฐ๊ฑด์‹ ; ์ฆ๊ฐ์‹) {

     ์ˆ˜ํ–‰ํ•  ์‹

}

 

์ด๋‹ค.

ใ…กใ…กใ…กใ…กใ…ก

for (int i = 0; i < 3; i++) {  // ์ดˆ๊ธฐ์‹: i=0 ; ์กฐ๊ฑด์‹: i๊ฐ€ 3๋ณด๋‹ค ์ž‘์€๊ฐ€? ; ์ฆ๊ฐ์‹: i์— 1์ถ”๊ฐ€
     printf("i=%d\n", i);
   }
ใ…กใ…กใ…กใ…กใ…ก

i=0 ์ผ๋•Œ ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฏ€๋กœ {}๋ธ”๋ก๊ตฌ๊ฐ„์ด ์ˆ˜ํ–‰๋˜๊ณ , i++์— ์˜ํ•ด i=1์ด ๋œ๋‹ค.

i=1 ์ผ๋•Œ ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฏ€๋กœ {}๋ธ”๋ก๊ตฌ๊ฐ„์ด ์ˆ˜ํ–‰๋˜๊ณ , i++์— ์˜ํ•ด i=2๊ฐ€ ๋œ๋‹ค.

i=2 ์ผ๋•Œ ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฏ€๋กœ {}๋ธ”๋ก๊ตฌ๊ฐ„์ด ์ˆ˜ํ–‰๋˜๊ณ , i++์— ์˜ํ•ด i=3์ด ๋œ๋‹ค.

i=3 ์ผ๋•Œ ์กฐ๊ฑด์‹์ด ๊ฑฐ์ง“์ด๋ฏ€๋กœ {}๋ธ”๋ก๊ตฌ๊ฐ„์ด ์ˆ˜ํ–‰๋˜์ง€์•Š๊ณ , i++์— ์˜ํ•ด i=4๊ฐ€ ๋œ์ฑ„ ์ข…๋ฃŒ๋œ๋‹ค.


์ด๊ฑด ๋ญ˜๊นŒ?

ใ…กใ…กใ…กใ…กใ…ก

int num;  //num์ •์ˆ˜๊ณต๊ฐ„ ์ƒ์„ฑ.
printf("์ •์ˆ˜์ž…๋ ฅ: ");
scanf("%d", &num);  //num์— ์ •์ˆ˜์ €์žฅ.
for (int a = 1; a <= num; a++) {  // ์ดˆ๊ธฐ์‹: a=1 ; ์กฐ๊ฑด์‹: a๊ฐ€ num๋ณด๋‹ค ์ž‘์€๊ฐ€? ; ์ฆ๊ฐ์‹: a์— 1์ถ”๊ฐ€.
      printf("%d ", a);
    }

ใ…กใ…กใ…กใ…กใ…ก

num์— 3์„ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ:

 

a= 1์ผ๋•Œ : 1<=3 : T  -> {}๋ธ”๋ก๊ตฌ๊ฐ„ ์ˆ˜ํ–‰O, a๊ฐ’์— 1์ถ”๊ฐ€.

a= 2์ผ๋•Œ : 2<=3 : T  -> {}๋ธ”๋ก๊ตฌ๊ฐ„ ์ˆ˜ํ–‰O, a๊ฐ’์— 1์ถ”๊ฐ€.

a= 3์ผ๋•Œ : 3<=3 : T  -> {}๋ธ”๋ก๊ตฌ๊ฐ„ ์ˆ˜ํ–‰O, a๊ฐ’์— 1์ถ”๊ฐ€.

a= 4์ผ๋•Œ : 4<=3 : F  -> {}๋ธ”๋ก๊ตฌ๊ฐ„ ์ˆ˜ํ–‰X, a๊ฐ’์— 1์ถ”๊ฐ€.

ใ…กใ…กใ…กใ…กใ…ก

3์ž…๋ ฅ.


int a,b;   //a์™€ b๋ผ๋Š” ์ •์ˆ˜๊ณต๊ฐ„์ƒ์„ฑ.
printf("์ •์ˆ˜2๊ฐœ์ž…๋ ฅ: ");
scanf("%d%d", &a, &b);  //a์™€ b์— ์ •์ˆ˜ ์ €์žฅ.
if (a > b) {   // [๊ตํ™˜]
int tmp = a;   //tmp: ์ž„์ง€์ €์žฅ๋ณ€์ˆ˜
a = b;
b = tmp;  // a<=b ๊ผด์„ ๋งŒ์กฑํ•˜๊ฒŒ ๋งŒ๋“ฌ
}
int sum = 0;   //sum์ด๋ผ๋Š” ๊ณต๊ฐ„์— 0์ €์žฅ.
for (int i = a; i <= b; i++) {  //์ดˆ๊ธฐ์‹: i=a ; ์กฐ๊ฑด์‹: i๊ฐ€ b์ดํ•˜์ธ๊ฐ€? ; ์ฆ๊ฐ์‹: i์— 1์ถ”๊ฐ€.
sum += i;    //sum๊ณผ i๊ฐ’์„ ํ•ฉ์นœ ๊ฐ’์„ sum์— ์ €์žฅ.
}
double avg = sum*1.0 / (b-a+1);
printf("์ดํ•ฉ์€ %d์ด๊ณ , ํ‰๊ท ์€ %.2lf์ž…๋‹ˆ๋‹ค.\n", sum, avg);

ใ…กใ…กใ…กใ…กใ…ก

4 2 ์ž…๋ ฅ

์™œ ์ด๋Ÿฐ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž.

 

์šฐ๋ฆฌ๋Š” ์ฒ˜์Œ์— 4์™€ 2 ๋ฅผ ์ž…๋ ฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— 

if๋ฌธ์— ์˜ํ•ด a=2, b=4๊ฐ€ ๋˜์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ for๋‹ค์Œ์˜ ()๋ถ€๋ถ„์€

(int i=2; i<=b; i++) ์„ ์˜๋ฏธํ•œ๋‹ค.

 

i=2 ์ผ๋•Œ: 2<=4  ->T -> sum+=i ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ sum๊ฐ’์€ 2๋กœ ์ €์žฅ, i++์ˆ˜ํ–‰

i=3 ์ผ๋•Œ: 3<=4  ->T -> sum+=i ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ sum๊ฐ’์€ 5๋กœ ์ €์žฅ, i++์ˆ˜ํ–‰

i=4 ์ผ๋•Œ: 4<=4  ->T -> sum+=i ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ sum๊ฐ’์€ 9๋กœ ์ €์žฅ, i++์ˆ˜ํ–‰

i=5 ์ผ๋•Œ: 5<=4  ->F -> sum+=i ๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€์•Š์Œ, i++ ์ˆ˜ํ–‰  ->i๊ฐ’์€ 6.

 

๋”ฐ๋ผ์„œ avg๋Š” 9*1.0/ (4-2+1) ์ด ๋œ๋‹ค.

 

์ด๋•Œ, sum์€ 9์ด๊ณ 

avg๊ฐ’์€ ์†Œ์ˆ˜์ ๋‘˜์งธ์ž๋ฆฌ๊นŒ์ง€ ํ‘œ์‹œํ•ด์•ผํ•˜๋ฏ€๋กœ 3.00์ด๋‹ค.


๋—

728x90

๋Œ“๊ธ€