연재 완료/C Lang 예제코드 모음

C언어 아래 실습문제 5,6번 순서도

라이피 (Lypi) 2018. 5. 6. 17:23
반응형

 임의 개의 수를 읽어 들여 최대값과 최소값 및 최대값과 최소값의 차를 구하는 프로그램을 while문을 포함하여 작성하라. 

#include <stdio.h>

int main()
{
	// ※변수 선언
	int num = 1, input, max, min;
	char conti = 'y';

	do
	{	// ※입력받기
		printf("%d번째 수를 입력하세요:", num); scanf_s("%d", &input);

		// ※첫번째로 입력받은 수 일 때
		if (num == 1) { 
			max = input; min = input;
		} else if (num >= 2) { // ※첫번째로 입력받은 수가 아닐 때
			input > max ? max = input : 0;
			input < min ? min = input : 0; 

			do {
				while (getchar() != '\n');
				//계속 입력받을지 확인
				printf("계속 입력하시겠습니까? (y,n)"); scanf_s("%c", &conti, sizeof(char));
				if (conti != 'Y' && conti != 'y' && conti != 'N' && conti != 'n') {
					printf("잘못 입력하셨습니다. \n");
				}
			} while (conti != 'Y' && conti != 'y' && conti != 'N' && conti != 'n');
		}
		
		num++;

	} while (conti == 'y' || conti == 'Y');

	printf("입력하신 수 중 가장 큰 수는 %d, 가장 작은 수는 %d, 두 수의 차이는 %d 입니다. \n", max, min, max - min);

	return 0;
}

순서도


-1^2+2^2-3^2+... + 100^2의 합을 구하는 프로그램을 while문을 이용하여 작성하라. 

#include <stdio.h>

int main()
{
	int i = 1, line = 0, sum = 0;

	while (i <= 100)
	{
		if(i%2 == 0) {
			sum += i*i; printf(" +%5d", i*i);
		} else {
			sum -= i * i; printf(" -%5d", i*i);
		}

		i++; line++;

		if (line == 10) { 
			line = 0; printf("\n"); 
		}
	}
	
	printf(" = %d 입니다. \n", sum);
}


순서도


반응형