본문으로 바로가기
728x90
반응형

218p


Programming


6. 사용자로부터 일련의 데이터를 받아서 최솟값을 찾아보자. 일반적으로 최솟값은 반복을 이용하여 찾는다. 각 반복에서 현재의 최솟값과 사용자로부터 읽은 값을 비교한다. 만약 새로운 값이 현재의 최솟값보다 작으면 새로운 수가 최솟값이 된다. 사용자가 Ctrl-Z를 누르면 데이터의 입력을 끝내고 그때까지의 최솟값을 출력한다.


 데이터를 입력하시오(Ctrl-Z를 누르면 종료) : 60  

 데이터를 입력하시오(Ctrl-Z를 누르면 종료) : 5

 데이터를 입력하시오(Ctrl-Z를 누르면 종료) : 30

 데이터를 입력하시오(Ctrl-Z를 누르면 종료) : 10

 데이터를 입력하시오(Ctrl-Z를 누르면 종료) : Ctrl-Z

 최솟값은 5입니다.


 #include <stdio.h>

 void main()

 {

int min=0,i;

printf("데이터를 입력하시오(Ctrl-Z를 누르면 종료) :");

while (scanf_s("%d",&i) !=EOF)

{

if (i == EOF)

break;

else if(i < min)

min = i;

printf("데이터를 입력하시오(Ctrl-Z를 누르면 종료) :");

}

printf("최소값은 %d 입니다", min);

 }

// EOF = End of File 의 경우 C언어에서 -1로 정의되어있기 때문에 값을 -1로 입력하여도 입력이 끝나게 됩니다



7. 컴퓨터는 막대그래프를 그리는 데도 사용된다. 사용자로부터 1부터 50 사이의 숫자 10개를 입력받아서 숫자만큼의 별표를 출력하는 프로그램을 작성하여보자. 막대는 세로로 그려지게 된다.


 막대 #1의 높이: 5

 *****

 막대 #2의 높이: 10

 **********

...

 막대 #10의 높이: 20

 ********************


 #include <stdio.h>

 void main()

 {

int high, x, y;

for (x = 1; x <= 10; x++)

{

printf("막대 #%d의 높이 :",x);

scanf_s("%d", &high);

for (y = 1; y <= high; y++)

printf("*\n");

}

 }




8. 피타고라스의 정리는, 직각삼각형에서 직각을 낀 두 변의 길이를 a, b라고 하고 빗변의 길이를 c라고 하면, a^2 + b^2 = c^2 의 수식이 성립한다는 것이다. 각 변의 길이가 100보다 작은 삼각형 중에서 피타고라스의 정리가 성립하는 직각삼각형은 몇 개나 있을까? 3중 반복문을 이용하여 피타고라스의 정리를 만족하는 3개의 정수를 찾도록 한다.



#include <stdio.h>

void main()

{

int x, y, z,count=0;

for (x = 1; x < 100; x++) {

for (y = 1; y < 100; y++) {

for (z = 1; z < 100; z++) {

if (x*x + y*y == z*z) {

count++;

printf("x=%d y=%d z=%d\n", x, y, z);

}

}

}

}

printf("길이가 100보다 작은 피타고라스의 정리가 성립하는 삼각형의갯수=%d", count);

}


728x90
반응형