Programming/C

c언어 학번으로다이아만들기

fishersheep 2021. 8. 13. 01:25
반응형
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

#define LEN 8

int main()
{	
	int n;
	
	int arr[LEN]= { 2,0,2,0,1,2,3,4 };

	while (1)
	{
	RE:
		printf("Enter number:");
		scanf("%d", &n);

		int idx = 0;
		int cnt = 0;
		int max = 1;

		if (n == 0)
			goto EXIT;
		else if (n % 2 == 0)
			goto RE;

		for (int h = 0; h < n; h++)
		{
			cnt = 0;
			for (int w = 0; w < n; w++)
			{
				if (w < (n - max) / 2)
					printf(".");
				else if (cnt < max)
				{
					printf("%d", arr[idx]);
					cnt++;
					idx = (idx >= LEN-1) ? 0 : idx + 1;
				}
				else
				{
					printf(".");
				}
			}
			if (h < n / 2)
				max += 2;
			else
				max -= 2;
			printf("\n");
		}
	
	}
EXIT:
	return 0;
}
반응형