程序题 求算法
- 提问者网友:疯孩纸
- 2021-05-09 16:45
1 16 15 14 13
2 17 24 23 12
3 18 25 22 11
4 19 20 21 10
5 6 7 8 9
就是环形地递增进去
求最优解,最好有可扩展性,n可以变动
求算法 求经典思路
- 五星知识达人网友:往事埋风中
- 2021-05-09 17:47
我前几天刚写了这个,下面是我的代码。
主要思路是用二维数组,方格各边用不同的二维数组递增或递减去赋值。
#include<stdio.h>
#define SIZE 20
int shuzi[SIZE][SIZE];
void ao(int n){
int i=1,j=1,m=1,k=1,p=1,q=n;
while(p<=q*q){
if(m==1){
shuzi[i][j]=p++;
k++;
if(k>n){
m=2;
n--;
k=1;
i++;
}
else
j++;
}
else if(m==2){
shuzi[i][j]=p++;
k++;
if(k>n){
m=3;
k=1;
j--;
}
else
i++;
}
else if(m==3){
shuzi[i][j]=p++;
k++;
if(k>n){
m=4;
n--;
i--;
k=1;
}
else
j--;
}
else if(m==4){
shuzi[i][j]=p++;
k++;
if(k>n){
m=1;
j++;
k=1;
}
else
i--;
}
}
for(i=1;i<=q;i++){
printf("\n");
for(j=1;j<=q;j++)
printf("%4d",shuzi[i][j]);
}
printf("\n");
}
int main(){
int n;
printf("ÇëÊäÈë±ß´óС:");
scanf("%d",&n);
if(n>20||n<=0){
printf("´íÎó!");
return 0;
}
ao(n);
return 0;
}
- 1楼网友:怙棘
- 2021-05-09 19:10
算法可以是NX2AAS
- 2楼网友:春色三分
- 2021-05-09 18:58
古龙和金庸谁的小说好看? |
要下雨了吗 |
我为什么会心痛 |
福建省泉州市到广东省龙川 |
广表示什么意思,红脸,白脸,黑脸各代表什么意思 |
英语 帮忙 |
我玩完电脑后睡了一觉 |
QQ幻想 腾讯还有出吗 |
拉筹伯大学,有没有人了解情况,请给详细介绍一下 |
姚明这赛季能上吗? |
近代物理的理论、应用 |
玩qq飞车游戏 |
带和字的诗词大全,带月字的整首古诗 |
问下这背景歌名叫什么??? |
洗过霉斑出现色差的衣服怎么办? |