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); } |
'Solution > C언어 콘서트' 카테고리의 다른 글
C언어 콘서트 - 제7장: 함수 연습문제 (1/8) (0) | 2014.06.20 |
---|---|
C언어 콘서트 - 제6장: 반복문 연습문제 (5/5) (0) | 2014.06.19 |
C언어 콘서트 - 제6장: 반복문 연습문제 (3/5) (5) | 2014.06.10 |
C언어 콘서트 - 제6장: 반복문 연습문제 (2/5) (10) | 2014.06.09 |
C언어 콘서트 - 제6장: 반복문 연습문제 (1/5) (3) | 2014.06.06 |