【输出方阵用C语言N最小值按升序放对角线】2021-11-30

void 输出方阵用C语言N最小值按升序放对角线()
{//缘由https://ask.csdn.net/questions/7583943?spm=1005.2025.3001.5141
	int arr[20][20]{}, n = 0, x = 0, y = 0, t = 0;
	scanf_s("%d", &n); t = n*n; (n % 2 ? ++t : 0);
	while (x < n)arr[x][x] = arr[x][n - 1 - x] = -1, ++x;
	x = 0;
	while (x < n)printf("%4d", arr[x][y]), (++y>n - 1 ? cout << endl, y = 0, ++x : 0);
	y = x = 0; printf("\n");
	while (x < n)(arr[x][y] != -1 ? arr[x][y] = t--, ++y : ++y), (t ? 0 : t = 20), (y>n - 1 ? ++x, y = 0 : 0);
	y = x = 0;
	while (x < n)printf("%4d", arr[x][y]), (++y>n - 1 ? cout << endl, y = 0, ++x : 0);
	y = x = 0; printf("\n");
	while (x < n)arr[x][x] = t--, ++x;
	x = 0;
	while (x < n)arr[x][n - 1 - x] = t--, ++x;
	y = x = 0;
	while (x < n)printf("%4d", arr[x][y]), (++y>n - 1 ? cout << endl, y = 0, ++x : 0);
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值