정보처리기사 실기/프로그래밍

알고리즘1 (C언어를 이용한 다양한 문제)

· 코딩마이데이

결과값 써보기 1

#include <stdio.h>
int main() {
	int rows;
	printf("줄 수를 입력하시오: ");
	scanf("%d", &rows);
	for (int i = 1; i <= rows; ++i)
	{
		for (int j = 1; j <= i; ++j)
		{
			printf("%d ", j);
		}
		printf("\n");
	}
	return 0;
}

 

실행 결과

줄 수를 입력하시오: 5

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

 

 

결과값 써보기 2

#include <stdio.h>
int main() {
	int num, i;
	printf("양의 정수를 입력하시오 :");
	scanf("%d", &num);
	printf("입력한 숫자 %d의 약수는: ", num);
	for (int i = 1; i <= num; i++) {
		if (num % i == 0) {
			printf("%d ", i);
		}
	}
	return 0;
}

 

실행 결과

양의 정수를 입력하시오 :15
입력한 숫자 15의 약수는: 1 3 5 15

 

결과값 써보기 3

#include <stdio.h>
int main() {
	int low = 20, high = 30, flag;
	while (low < high) {
		flag = 0;

		if (low <= 1) {
			++low;
			continue;
		}
		for (int i = 2; i <= low / 2; ++i) {
			if (low % i == 0) {
				flag = 1;
				break;
			}
		}
		if (flag == 0)
			printf("%d", low);
		++low;
	}
	return 0;
}

 

실행 결과

2329

 

 

 

 

 

 

 

 

결과값 써보기 4

#include <stdio.h>
int main() {
	int n = 1001, reversed = 0, remainder, original;
	original = n;

	while (n != 0)
	{
		remainder = n % 10;
		reversed = reversed * 10 + remainder;
		n /= 10;
	}

	if (original == reversed)
		printf("%d는 회문입니다.", original);
	else
		printf("%d는 회문이 아닙니다.", original);

	return 0;
}

 

실행 결과

1001는 회문입니다.

 

 

 

 

결과값 써보기 5

#include <stdio.h>
int main() {
	int base = 3, exp = 4;
	int result = 1;

	while (exp != 0) {
		result *= base;
		--exp;
	}
	printf("Answer = %d", result);
	return 0;
}

실행 결과

Answer = 81