题目不是傻子题目,但很简单!定义一个变量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)
代码下次分享