문제

삼각형의 높이 N을 입력받아서 아래와 같이 문자 'A'부터 차례대로 맨 오른쪽 가운데 행부터 차례대로 아래와 같이 채워서 

삼각형 모양을 출력하는 프로그램을 작성하시오.

 

< 처리조건 >
(1) 오른쪽 가운데 행에 문자 'A'를 채우고 왼쪽 열로 이동하여 위에서 아래로 채워나간다.
(2) 가장 왼쪽 행까지 반복하여 모두 채워 나간다. (문자 'Z'다음에는 'A'부터 다시 시작한다.)

 


 

 

입력형식

삼각형의 높이 N(N의 범위는 1이상 100 이하의 홀수)을 입력받는다.

 

출력형식

주어진 형태대로 높이가 N인 문자삼각형을 출력한다. 문자 사이는 한 개의 공백으로 구분한다. 입력범위를 벗어나면 "INPUT ERROR"를 출력한다.

 

<코드>

#include <stdio.h>

int main()
{
	char arr[100][50] = {0};
	char chr = 'A';
	int n;
	
	scanf("%d", &n);
	
	if(n%2==0||n<1||n>100)
	{
		printf("INPUT ERROR\n");
		return 0;
	}
	
	for(int i=n/2; i>=0; i--)
	{
		for(int j=i; j<=(n/2)*2-i; j++)
		{
			arr[j][i] = chr++;
			
			if(chr > 'Z')
				chr = 'A';
		}
	}
	
	for(int i=0; i<n/2+1; i++)
	{
		for(int j=0; j<=i; j++)
			printf("%c ", arr[i][j]);
		
		printf("\n");
	}
	
	for(int i=n/2+1; i<n; i++)
	{
		for(int j=0; j<n-i; j++)
			printf("%c ", arr[i][j]);
			
		printf("\n");
	}
	
	
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

1719 : 별삼각형2  (0) 2020.05.06
1523 : 별삼각형1  (0) 2020.05.06
1338 : 문자삼각형1  (0) 2020.05.05
1314 : 문자사각형2  (0) 2020.05.05
1307 : 문자사각형1  (0) 2020.05.05

문제

삼각형의 높이 N을 입력받아서 아래와 같이 문자 'A'부터 차례대로 왼쪽 대각선으로 채워서 삼각형 모양을 출력하는 프로그램을 작성하시오.

 

< 처리조건 >
(1) 오른쪽 위부터 왼쪽 아래쪽으로 이동하면서 문자 'A'부터 차례대로 채워나간다.
(2) N번 행까지 채워지면 다시 오른쪽 둘째 행부터 왼쪽 아래로 채워나간다.
(3) 삼각형이 모두 채워질 때까지 반복하면서 채워 나간다. (문자 'Z'다음에는 'A'부터 다시 시작한다.)

 


 

 

입력형식

삼각형의 높이 N(N의 범위는 100 이하의 양의 정수)을 입력받는다.

 

출력형식

주어진 형태대로 높이가 N인 문자삼각형을 출력한다. 문자 사이는 한 개의 공백으로 구분한다.

 

<코드>

#include <stdio.h>

int main()
{
	
	char arr[100][100] = {0};
	char chr = 'A';
	int n, i, j, k;
	
	scanf("%d", &n);
	
	for (i=0; i < n; i++) {
		for (j = i, k = n-1; j < n; j++, k--) {
			arr[j][k] = chr++;
			if(chr > 'Z')
				chr = 'A';
		}
	}

	for(i=0; i<n ;i++)
	{
		for(j=0; j<n-i-1; j++)
			arr[i][j] = ' ';
	}
	
	for(i=0; i<n ;i++)
	{
		for(j=0; j<n; j++)
			printf("%c ", arr[i][j]);
		
		printf("\n");
	}
	
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

1523 : 별삼각형1  (0) 2020.05.06
1339 : 문자삼각형2  (0) 2020.05.05
1314 : 문자사각형2  (0) 2020.05.05
1307 : 문자사각형1  (0) 2020.05.05
2046 : 숫자사각형4  (0) 2020.05.05

문제

정사각형의 한 변의 길이 n을 입력받은 후 다음과 같은 문자로 된 정사각형 형태로 출력하는 프로그램을 작성하시오.

 

< 처리조건 >
문자의 진행 순서는 왼쪽 위에서부터 아래쪽으로 ‘A'부터 차례대로 채워나가고 

다시 오른쪽 아래부터 위쪽으로 채워나가는 방법으로 아래 표와 같이 채워 넣는다.

'Z' 다음에는 다시 'A'부터 반복된다.

 

 


 

 

입력형식

정사각형 한 변의 길이 n(n의 범위는 1이상 100 이하의 정수)을 입력받는다.

 

출력형식

위의 형식과 같이 한변의 길이가 n인 숫자 사각형을 출력한다. 숫자 사이는 공백으로 구분하여 출력한다.

 

<코드>

#include <stdio.h>

int main()
{
	char arr[100][100] = {0};
	char chr = 'A';
	int n;
	
	scanf("%d", &n);
	
	for(int i=0; i<n; i++)
	{
		if(!(i%2))
		{
			for(int j=0; j<n; j++)
			{
				arr[j][i] = chr++;
				if(chr == 'Z'+1)
					chr = 'A';
			}
		}
		else
		{
			for(int j=n-1; j>=0; j--)
			{
				arr[j][i] = chr++;
				if(chr == 'Z'+1)
					chr = 'A';
			}
		}
	}
	
	for(int i=0; i<n; i++)
	{
		for(int j=0; j<n; j++)
			printf("%c ", arr[i][j]);
		
		printf("\n");
	}
	
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

1339 : 문자삼각형2  (0) 2020.05.05
1338 : 문자삼각형1  (0) 2020.05.05
1307 : 문자사각형1  (0) 2020.05.05
2046 : 숫자사각형4  (0) 2020.05.05
1304 : 숫자사각형3  (0) 2020.05.03

문제

정사각형의 한 변의 길이 n을 입력받은 후 다음과 같은 문자로 된 정사각형 형태로 출력하는 프로그램을 작성하시오.

 

< 처리조건 >
문자의 진행 순서는 맨 오른쪽 아래에서 위쪽으로 'A'부터 차례대로 채워나가는 방법으로 아래 표와 같이 왼쪽 위까지 채워 넣는다. 

'Z' 다음에는 다시 'A'부터 반복된다.

 


 

 

입력형식

정사각형 한 변의 길이 n(n의 범위는 1이상 100 이하의 정수)을 입력받는다.

 

출력형식

위의 형식과 같이 한변의 길이가 n인 문자 사각형을 출력한다. 문자 사이는 공백으로 구분하여 출력한다.

 

<코드>

#include <stdio.h>

int main()
{
	char arr[100][100] = {0};
	char chr = 'A';
	int n;
	
	scanf("%d", &n);
	
	for(int i=n-1; i>=0; i--)
	{
		for(int j=n-1; j>=0; j--)
		{
			arr[j][i] = chr++;
			if(chr == 'Z'+1)
				chr = 'A';
		}
	}
	
	for(int i=0; i<n; i++)
	{
		for(int j=0; j<n; j++)
			printf("%c ", arr[i][j]);
		
		printf("\n");
	}
	
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

1338 : 문자삼각형1  (0) 2020.05.05
1314 : 문자사각형2  (0) 2020.05.05
2046 : 숫자사각형4  (0) 2020.05.05
1304 : 숫자사각형3  (0) 2020.05.03
1856 : 숫자사각형2  (0) 2020.05.03

문제

정사각형의 한 변의 길이 n과 종류 m을 입력받은 후 다음과 같은 정사각형 형태로 출력하는 프로그램을 작성하시오.

 

< 처리조건 >
종류 2번의 경우 숫자의 진행 순서는 처음에 왼쪽에서 오른쪽으로 너비 n만큼 진행 한 후 방향을 바꾸어서 이를 반복한다.

 

 

 

입력형식

정사각형 한 변의 길이 n(n의 범위는 100 이하의 정수)과 종류 m(m은 1부터 3사이의 정수)을 입력받는다.

 

출력형식

위에서 언급한 3가지 종류를 입력에서 한 변의 길이 n과 종류 m에 맞춰서 출력한다. 숫자 사이는 공백으로 구분하여 출력한다.

 

<코드>

#include <stdio.h>

void first(int n)
{
	for(int i=1; i<=n; i++)
	{
		for(int j=0; j<n; j++)
			printf("%d ", i);
		
		printf("\n");
	}
}

void second(int n)
{
	for(int i=0; i<n; i++)
	{
		if(i%2)
		{
			for(int j=n; j>0; j--)
				printf("%d ", j);
		}
		else
		{
			for(int j=1; j<=n; j++)
				printf("%d ", j);
		}
		printf("\n");
	}
}

void third(int n)
{
	for(int i=1; i<=n; i++)
	{
		for(int j=i; j<=i*n; j+=i)
			printf("%d ", j);
		
		printf("\n");
	}
}

int main()
{
	int n, m;
	
	scanf("%d %d", &n, &m);
	
	switch(m)
	{
		case 1:
			first(n);
			break;
		case 2:
			second(n);
			break;
		case 3:
			third(n);
			break;
	}
	
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

1314 : 문자사각형2  (0) 2020.05.05
1307 : 문자사각형1  (0) 2020.05.05
1304 : 숫자사각형3  (0) 2020.05.03
1856 : 숫자사각형2  (0) 2020.05.03
1303 : 숫자사각형1  (0) 2020.05.03

문제

정사각형의 한 변의 길이 n을 입력받은 후 다음과 같이 숫자로 된 정사각형 형태로 출력하는 프로그램을 작성하시오. 

 

< 처리조건 > 

숫자의 진행 순서는 처음에 왼쪽 위에서 아래쪽으로 n만큼 진행 한 후 

바로 오른쪽 위에서 다시 아래쪽으로 진행하는 방법으로 정사각형이 될 때까지 반복한다.

 

입력형식

정사각형 한 변의 길이 n(n의 범위는 100 이하의 자연수)을 입력받는다.

 

출력형식

위의 형식과 같이 한 변의 길이가 n인 숫자 사각형을 출력한다. 숫자 사이는 공백으로 구분하여 출력한다.

 

<코드>

#include <stdio.h>

int main()
{
	int n, num = 1;
	int arr[100][100] = {0};
	
	scanf("%d", &n);
	
	for(int i=0; i<n; i++)
	{
		for(int j=0; j<n; j++)
			arr[j][i] = num++;
	}
	
	for(int i=0; i<n; i++)
	{
		for(int j=0; j<n; j++)
			printf("%d ", arr[i][j]);
		printf("\n");
	}
	
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

1307 : 문자사각형1  (0) 2020.05.05
2046 : 숫자사각형4  (0) 2020.05.05
1856 : 숫자사각형2  (0) 2020.05.03
1303 : 숫자사각형1  (0) 2020.05.03
1341 : 구구단2  (0) 2020.05.02

문제

사각형의 높이 n과 너비 m을 입력받은 후 

사각형 내부에 지그재그 형태로 1부터 n*m번까지 숫자가 차례대로 출력되는 프로그램을 작성하시오. 

 

< 처리조건 > 

숫자의 진행 순서는 처음에 왼쪽에서 오른쪽으로 너비 m만큼 진행 한 후 방향을 바꾸어서 이를 반복한다.

 


 

 

입력형식

사각형의 높이n와 너비m( n과 m의 범위는 100 이하의 정수)을 입력받는다.

 

출력형식

위에서 형태의 직사각형을 입력에서 들어온 높이 n과 너비 m에 맞춰서 출력한다. 숫자 사이는 공백으로 구분한다.

 

 

<코드>

#include <stdio.h>

int main()
{
	int n, m;
	int num=1;
	
	scanf("%d %d", &n, &m);
	
	for(int i=0; i<n; i++)
	{	
		if(i%2)
		{
			num += m;
			for(int j=1; j<=m; j++)
				printf("%d ", num-j);
		}
		else
		{
			for(int j=0; j<m; j++)
				printf("%d ", num++);
		}
		printf("\n");
	}
		
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

2046 : 숫자사각형4  (0) 2020.05.05
1304 : 숫자사각형3  (0) 2020.05.03
1303 : 숫자사각형1  (0) 2020.05.03
1341 : 구구단2  (0) 2020.05.02
1291 : 구구단  (0) 2020.05.02

문제

사각형의 높이 n과 너비 m을 입력받은 후 

n행 m열의 사각형 형태로 1부터 n*m번까지 숫자가 차례대로 출력되는 프로그램을 작성하시오.

 

< 처리조건 >
숫자의 진행 순서는 처음에 맨 윗줄의 왼쪽에서 오른쪽으로 1부터 차례대로 너비 m만큼 출력한 후 

다음 줄로 바꾸어서 다시 왼쪽에서 오른쪽으로 1씩 증가하면서 출력하는 방법으로 n번 줄까지 반복한다.

 

입력형식

사각형의 높이n와 너비m( n과 m의 범위는 100 이하의 정수)이 주어진다.

 

출력형식

위에서 형태의 직사각형을 입력에서 들어온 높이 n과 너비 m에 맞춰서 출력한다. 숫자 사이는 공백으로 구분한다.

 

 

<코드>

#include <stdio.h>

int main()
{
	int n, m;
	int num=1;
	
	scanf("%d %d", &n, &m);
	
	for(int i=0; i<n; i++)
	{
		for(int j=0; j<m; j++)
		{
			printf("%d ", num++);
		}
		printf("\n");
	}
		
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

2046 : 숫자사각형4  (0) 2020.05.05
1304 : 숫자사각형3  (0) 2020.05.03
1856 : 숫자사각형2  (0) 2020.05.03
1341 : 구구단2  (0) 2020.05.02
1291 : 구구단  (0) 2020.05.02

문제

원하는 구구단의 범위를 입력받아 해당 구간의 구구단을 출력하는 프로그램을 작성하시오.

 

<처리조건>
(1) 구간의 처음과 끝을 입력받는다.
(2) 입력된 구간은 반드시 처음 입력 값이 끝의 입력 값보다 작아야 하는 것은 아니다.
     즉, 입력된 구간의 범위는 증가하거나 감소하는 순서 그대로 출력되어야 한다.

 

입력형식

구구단의 시작 범위 s와 끝 범위 e가 주어진다. (s와 e는 2부터 9사이의 정수)

 

출력형식

시작 범위와 끝 범위사이의 구구단을 출력하되 모든 값과 부호 사이는 공백으로 구분하여 아래 출력 예와 같이 줄을 맞추어 출력해야 한다. 식과 식 사이는 3개의 공백으로 구분하고 구구단 사이에는 한 줄을 비워 두도록 한다.

 

 

<코드>

#include <stdio.h>

int main()
{
	int s, e;
	
	while(1)
	{
		scanf("%d %d", &s, &e);
		if(((s>=2)&&(s<=9))&&((e>=2)&&(e<=9)))
			break;
		else
			printf("INPUT ERROR!\n");
	}
	
	if(s<e)
	{
		for(int i=s; i<=e; i++)
		{
			for(int j=1; j<10; j++)
			{
				printf("%d * %d = %2d   ", i, j, i*j);
				if(!(j%3))
					printf("\n");
			}
			printf("\n");
		}
	}
	else
	{
		for(int i=s; i>=e; i--)
		{
			for(int j=1; j<10; j++)
			{
				printf("%d * %d = %2d   ", i, j, i*j);
				if(!(j%3))
					printf("\n");
			}
			printf("\n");
		}
	}
	
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

2046 : 숫자사각형4  (0) 2020.05.05
1304 : 숫자사각형3  (0) 2020.05.03
1856 : 숫자사각형2  (0) 2020.05.03
1303 : 숫자사각형1  (0) 2020.05.03
1291 : 구구단  (0) 2020.05.02

문제

원하는 구구단의 범위를 입력받아 해당 구간의 구구단을 출력하는 프로그램을 작성하시오.

 

<처리조건>
(1) 구간의 처음과 끝을 입력받는다.
(2) 입력된 구간은 반드시 처음 입력 값이 끝의 입력 값보다 작아야 하는 것은 아니다.

즉 입력된 구간의 범위는 증가하거나 감소하는 순서 그대로 출력되어야 한다.

 

입력형식

구구단의 시작 범위 s,와 끝 범위 e를 입력받는다.(s와 e는 2부터 9사이의 정수) 

하나의 결과가 출력되면 프로그램을 종료한다.

 

출력형식

시작 범위와 끝 범위사이의 구구단을 출력하되 모든 값과 부호 사이는 공백으로 구분하여 아래 출력 예와 같이 줄을 맞추어 출력해야 한다.

구구단 사이는 3개의 공백으로 구분한다. 

데이터의 크기가 주어진 범위를 벗어날 경우는 "INPUT ERROR!"를 출력하고 s와 e를 다시 입력받는다.

 

<코드>

#include <stdio.h>

int main()
{
	int s, e;
	
	while(1)
	{
		scanf("%d %d", &s, &e);
		if(((s>=2)&&(s<=9))&&((e>=2)&&(e<=9)))
			break;
		else
			printf("INPUT ERROR!\n");
	}
	
	for(int i=1; i<10; i++)
	{
		if(s>e)
		{
			for(int j=s; j>=e; j--)
			{
				printf("%d * %d = %2d", j, i, j*i);
				printf("   ");
			}
			printf("\n");
		}
		
		if(s<=e)
		{
			for(int j=s; j<=e; j++)
			{
				printf("%d * %d = %2d", j, i, j*i);
				printf("   ");
			}
			printf("\n");
		}
	}
	
	
	return 0;
}

'코딩 > Beginner Coder' 카테고리의 다른 글

2046 : 숫자사각형4  (0) 2020.05.05
1304 : 숫자사각형3  (0) 2020.05.03
1856 : 숫자사각형2  (0) 2020.05.03
1303 : 숫자사각형1  (0) 2020.05.03
1341 : 구구단2  (0) 2020.05.02

+ Recent posts