输出number选择n阶矩阵

输出n阶矩阵和三角矩阵,就出现了一个新知识print发(“\t”)是自动对齐,不确定的话就随便在内存里面专门命名一个随意改动的任务,看看电脑终端什么样子。

核心思想:自定义函数1 2 3 4 5等等(因为编写代码的原则最好是主体简洁一点,所以相关的复杂运算就放在自定义函数里面)主函数就调用它们。

要求掌握的技能:for循环的嵌套。函数自定义。什么时候换行\n,行与列的对应关系。

/*选择对应矩阵*/
#include <stdio.h>
int one(int n);
int two(int n);
int three(int n);
int four(int n);
int five(int n);

int main() {
	int n, num;
	printf("[1]顺序矩阵\n[2]逆序矩阵\n[3]正三角顺序矩阵\n[4]倒三角逆序矩阵\n[0]退出");
	printf("输入num和n:");
	scanf("%d %d", &num, &n);
	switch (num) {
		case 0:
			printf("退出");
			break;
		case 1:
			one(n);
			break;
		case 2:
			two(n);
			break;
		case 3:
			three(n);
			break;
		case 4:
			four(n);
			break;
		default:
			printf("no!");
			break;
	}
	return 0;
}
//所有的i都表示行,而j<=n,  j表示这一行输出几个数字
int one(int n) {
	int i, j, count = 0;
	for (i = 1; i <= n; i++) {
		for (j = 1; j <= n; j++) {
			count++;
			printf("%d  \t", count);
		}
		printf("\n");//注意此语句摆放的位置,是最里面的循环结束后,换行
	}
}

int two(int n) {
	int i, j, count;
	count = n * n;
	for (i = 1; i <= n; i++) {
		for (j = 1; j <= n; j++) {
			printf("%d  \t", count--);//count--也可以单独写成一个语句,无所谓
		}
		printf("\n");
	}
}

int three(int n) {
	int i, j,  count = 1;
	for (i = 1; i <= n; i++) {
		for (j = 1; j <= n; j++) {
			if (i > j) {//因为上三角的样子
				printf("\t");
			} else {
				printf("%d\t", count);
			}
			count++;
		}
		printf("\n");
	}
}

int four(int n) {
	int i, j, n1 = 1, sum = 0, count;
	count = five(n);
	for (i = 1; i <= n; i++) {
		for (j = 1; j <= n1; j++) {//用n1来控制每一行(j)输出的个数
			printf("%d\t", count--);
		}
		n1++;//每次上面的for结束后就n1++
		printf("\n");
	}
	return 0;

}

int five(int n) {//累加,为了求出逆序的下三角最后一个数,数值上是1加到n
	int sum = 0, i = 1;
	for (i = 1; i <= n; i++) {
		sum = sum + i;
	}
	return sum;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值