题目不是傻子题目,但很简单!定义一个变量k,在嵌套中不断累加输出即可。
#include<cstdio>
int k,n;
int main(){scanf("%d",&n);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){k++;printf("%d ",k);}printf("\n");}
}
此题有两种方法,每一种都易如反掌。我的思路是:
每一个数,它增加的都是5,正好与输入的n相同,因此可以确定每次递增n。
#include<cstdio>
int n,k=1,m,a;
int main(){scanf("%d",&n);for(int i=1;i<=n;i++){a=n;printf("%d",k);a=k+a;for(int j=1;j<=n-1;j++){printf("%d ",a);a=a+n;}printf("\n");k++;}
}
这题很难好吧!
这波先画图
我们可以将数组的初始位置也就是图中的1的坐标设为(x,y)
再次观察发现,运动轨迹是:右下左上。用坐标来表是右:(x,y+1),下:(x+1,y),左:(x,y-1)
上:(x-1,y)
代码下次分享