目录
描述
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
例如,当输入5时,应该输出的三角形为:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
输入描述:
输入正整数N(N不大于100)
输出描述:
输出一个N行的蛇形矩阵。

提交代码
#include <stdio.h>
int main() {
int n,i,j;
scanf("%d", &n);
int str[100][100]={0};
for(i=0;i<n;i++)
{
if(i==0)str[i][0]=1;
else {str[i][0]=str[i-1][0]+i;}
for(j=1;j<n-i;j++)
{
str[i][j]=str[i][j-1]+i+j+1;
}
}
for(i=0;i<n;i++)//其实不想用循环的,想在上个循环里直接输出,但是没成功。
{
for(j=0;j<n-i;j++)
{
printf("%d",str[i][j]);
if(j!=n-1-i)printf(" ");
else printf("\n");
}
}
return 0;
}
学习代码
(来源:https://www.nowcoder.com/users/594375052)
#include <stdio.h>
#define N 100
unsigned short arr[N][N] = {1};
main(){
unsigned short n;
while(scanf("%hu", &n)!=EOF){
for(int i=0; i<n; ++i){
for(int j=0; j<n-i; ++j){
if(j==0) arr[i][0] = arr[i-1][0]+i;//(1)
else arr[i][j] = arr[i][j-1]+i+j+1;
printf("%hu ", arr[i][j]);
}
printf("\n");
}
}
}
有点不解,为什么(1)处可以成立,尤其是i==0的时候?不会报错吗?
收藏点
特定题型,快速找规律吧。
本文介绍了一种生成蛇形矩阵的算法实现,并提供了两段C语言代码示例。蛇形矩阵是一个由1开始的自然数依次排列而成的上三角形矩阵。文章详细解释了如何通过输入一个正整数N来生成一个N行的蛇形矩阵。
925

被折叠的 条评论
为什么被折叠?



