解题思路:
注意事项:
参考代码:
#include<stdio.h>
//蛇形矩阵
void function(int N,int rows)//输出每一行的所有元素
{
int first=1,i,num=0,temp=0;
//求出每一行的第一个元素的值 r(n)=r(n-1)+n-1
for(i=1;i<=rows;i++)
{
first+=i-1;
}
num=first; //先输出每一行的第一个元素
printf("%d ",first);
temp=rows+1; //每一行的第一个元素到下一个元素增量
for(i=1;i<N-rows+1;i++)//N-rows+1为每行元素的个数
{
num+=temp;
temp++; //前一个元素向后一个元素每变化一次增量都会增加1
printf("%d ",num);
}
printf("\n");
}
int main(){
int N;
scanf("%d",&N);
for(int i=1;i<=N;i++)//依次输出每一行的元素
function(N,i);
return 0;
}
0.0分
1 人评分