打印带对角线数字图案的正方形的C语言程序

56 阅读1分钟

写一个C程序来打印带有对角线数字图案的正方形。或者用C语言程序打印除对角线数字模式外的所有零的正方形,使用for循环。

#include <stdio.h

int main() { int rows;

printf("Enter Square with Diagonal Numbers Side = ");
scanf("%d", &rows);

printf("Square with Numbers in Diaginal and Remaining 0's\\n");

for (int i = 1; i <= rows; i++)
{
	for (int j = 1; j < i; j++)
	{
		printf("0 ");
	}
	printf("%d ", i);

	for (int k = i; k < rows; k++)
	{
		printf("0 ");
	}
	printf("\\n");
}

image.png

这是在C语言中打印带有对角线数字和所有剩余零的正方形图案的另一种方法。

#include <stdio.h>.

int main() { int rows;


printf("Enter Square with Diagonal Numbers Side = ");
scanf("%d", &rows);

printf("Square with Numbers in Diaginal and Remaining 0's\\n");

for (int i = 1; i <= rows; i++)
{
	for (int j = 1; j <= rows; j++)
	{
		if (i == j)
		{
			printf("%d ", i);
		}
		else
		{
			printf("0 ");
		}
	}
	printf("\\n");
}
Enter Square with Diagonal Numbers Side = 9
Square with Numbers in Diaginal and Remaining 0's
1 0 0 0 0 0 0 0 0 
0 2 0 0 0 0 0 0 0 
0 0 3 0 0 0 0 0 0 
0 0 0 4 0 0 0 0 0 
0 0 0 0 5 0 0 0 0 
0 0 0 0 0 6 0 0 0 
0 0 0 0 0 0 7 0 0 
0 0 0 0 0 0 0 8 0 
0 0 0 0 0 0 0 0 9 

这个C程序显示了对角线数字递增的方形图案。所有剩下的1都是零,使用一个while循环。

#include <stdio.h>

int main() { int i, j, rows;


printf("Enter Square with Diagonal Numbers Side = ");
scanf("%d", &rows);

printf("Square with Numbers in Diaginal and Remaining 0's\\n");
i = 1;

while (i <= rows)
{
	j = 1;

	while (j <= rows)
	{
		if (i == j)
		{
			printf("%d ", i);
		}
		else
		{
			printf("0 ");
		}
		j++;
	}
	printf("\\n");
	i++;
}
Enter Square with Diagonal Numbers Side = 15
Square with Numbers in Diaginal and Remaining 0's
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 13 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 14 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 

这个C语言例子使用do while循环来打印正方形数字图案,其中它的对角线是连续的数字,剩下的全部是零。

#include <stdio.h>

int main() { int i, j, rows;


printf("Enter Square with Diagonal Numbers Side = ");
scanf("%d", &rows);

printf("Square with Numbers in Diaginal and Remaining 0's\\n");
i = 1;

do
{
	j = 1;

	do
	{
		if (i == j)
		{
			printf("%d ", i);
		}
		else
		{
			printf("0 ");
		}

	} while (++j <= rows);

	printf("\\n");

} while (++i <= rows);
Enter Square with Diagonal Numbers Side = 12
Square with Numbers in Diaginal and Remaining 0's
1 0 0 0 0 0 0 0 0 0 0 0 
0 2 0 0 0 0 0 0 0 0 0 0 
0 0 3 0 0 0 0 0 0 0 0 0 
0 0 0 4 0 0 0 0 0 0 0 0 
0 0 0 0 5 0 0 0 0 0 0 0 
0 0 0 0 0 6 0 0 0 0 0 0 
0 0 0 0 0 0 7 0 0 0 0 0 
0 0 0 0 0 0 0 8 0 0 0 0 
0 0 0 0 0 0 0 0 9 0 0 0 
0 0 0 0 0 0 0 0 0 10 0 0 
0 0 0 0 0 0 0 0 0 0 11 0 
0 0 0 0 0 0 0 0 0 0 0 12