日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言實現用?*?打印X形圖案_C 語言

作者:KamikazePilot ? 更新時間: 2022-12-11 編程語言

C語言 用 * 打印X形圖案

多組輸入,一個整數(2~20),表示輸出的行數,也表示組成“X”的反斜線和正斜線長度。

針對每行輸入,輸出用"*"組成的x型圖案。

第一次看到這道題,我想到的是按照尋找規律的方法來求解,將n / 2作為分割點,上下分開尋找規律打印空格。

網上給出的解題思路是以坐標軸的方式進行求解

?以輸入n = 7為例,由上圖可知,設橫軸為x,縱軸為y,當x = y,或者x + y = n - 1時,屏幕上輸出 *,所以我們可以根據這個規律來進行運算。

這種方法的好處是不需要考慮空格的輸出的規律,只需要根據交叉線條x的規律來打印即可。

	int a = 0;
	while (scanf("%d", &a) != EOF)
	{
		int i = 0;
		for (i = 0; i < a; i++)            //i為x軸
		{
			int j = 0;
            //每次循環輸出一個*或者輸出一個空格
			for (j = 0; j < a; j++)        //j為y軸
			{
				if (i == j)
					printf("*");
				else if (i + j == a - 1)
					printf("*");
				else
					printf(" ");
			}
			printf("\n");
		}
	}

C語言 輸出X圖形

/*
輸出 X圖形
程序:輸入行數,輸出該X圖形
*/

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main()
{
	int n = 0, i = 0, j = 0;
	char arr[51][51] = { 0 };
	scanf("%d", &n);

	for (i = 0; i < n; i++)
	{
		for (j = 0; j < n; j++)
		{
			arr[i][j] = ' ';
		}
	}

	for (i = 0; i < n; i++)
	{
		arr[i][i] = '*';
		arr[i][n - i - 1] = '*';
	}

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

原文鏈接:https://blog.csdn.net/KamikazePilot/article/details/123181207

欄目分類
最近更新