【C语言小练习】找出给定的底边长度为5的三角形的矩阵,找规律,输出底边长度为10的三角形矩阵。
2010-12-07 00:33
465 查看
【C语言小练习】找出给定的底边长度为5的三角形的矩阵,找规律,输出底边长度为10的三角形矩阵。
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
此题一共4种解法,按难度分级:
基础解法:数组。思路是直接构造一个数组,一个一个赋值就行了。
中级解法:变量递增。思路是,分别找出行和列间的递推关系,然后用变量记录,一个一个输出。
高级解法:双公式。思路是,把中级解法找到的两个递推关系,分别求出行与列的通项公式。
超级解法:单公式。思路是,把高级解法的两个一维通项公式,合并成一个二维矩阵通项公式。
我只给出超级解法。剩下3种简单的就不写了。
输出:
--------------------------------------------
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
此题一共4种解法,按难度分级:
基础解法:数组。思路是直接构造一个数组,一个一个赋值就行了。
中级解法:变量递增。思路是,分别找出行和列间的递推关系,然后用变量记录,一个一个输出。
高级解法:双公式。思路是,把中级解法找到的两个递推关系,分别求出行与列的通项公式。
超级解法:单公式。思路是,把高级解法的两个一维通项公式,合并成一个二维矩阵通项公式。
我只给出超级解法。剩下3种简单的就不写了。
#include <stdio.h> #include <conio.h> int main( void ){ unsigned int len=10,y=0,x=0; for(y=1; y<=len; y++){ for(x=1;x<=len-y+1; x++){ printf( "%3d ", ((x+y)*(x+y-1)/2-y+1)); } printf("/r/n"); } _getch(); return 0; }
输出:
--------------------------------------------
1 3 6 10 15 21 28 36 45 55 2 5 9 14 20 27 35 44 54 4 8 13 19 26 34 43 53 7 12 18 25 33 42 52 11 17 24 32 41 51 16 23 31 40 50 22 30 39 49 29 38 48 37 47 46
相关文章推荐
- 【C语言小练习】按照下列正方形矩阵的规律,输出下列正方形矩阵。边长为正整数,可以在源代码里更改。
- C语言之练习1-10制表符回退符显示输出
- C语言初级练习——编写一个乘法表,呈倒三角形、输入一串字符,要求输出这串字符中的数字最多的那段的位置以及这段数字的个数
- C语言:打印输出矩阵生成器练习
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- c语言格式化输出控制长度
- C语言求矩阵偶数的平均值和程序输出某数的问题
- c语言练习10
- 10、在排序数组中,找出给定数字出现的次数
- c语言练习 10-1. 在字符串中查找指定字符(15)
- C语言实例10——有关ASCII图形的输出
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- Java练习 输出1到10的阶乘的和 回文数 简易菜单 个人所得税
- 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
- 【Codeforces Round 323 (Div 2)C】【观察找规律 STL map】GCD Table 从GCD矩阵中找出所有原始元素
- C语言printf——动态指定输出格式长度
- c语言 经典算法等腰三角形输出
- C语言---递归反向输出任意长度的字符串
- c语言---矩阵输出问题(之型矩阵输出)
- C语言printf——动态指定输出格式长度