解题思路:
输出的数重置为0,遇到0则跳过
分四种情况
参考了一位大佬思路
注意事项:
参考代码:
#include<iostream>
int a[100][100]={0};
int main()
{
int r,c;
scanf("%d %d",&r,&c);
int i,j;
//输入 ,从1开始
for(i=1;i<=r;i++){
for(j=1;j<=c;j++){
scanf("%d",&a[i][j]);
}
}
//set标记四种情况,行和列
int set=1,h=1,l=1;
for(i=1;i<=r*c;i++){
//set1 左→右
if(set==1){
printf("%d\n",a[h][l]);
a[h][l]=0;
if(a[h][l+1]==0){
set=2;
h++;
continue;
}else{
l++;
set=1;
continue;
}
}
//set2 右上→右下
if(set==2){
printf("%d\n",a[h][l]);
a[h][l]=0;
if(a[h+1][l]==0){
set=3;
l--;
continue;
}else{
h++;
set=2;
continue;
}
}
//set3 右下→左下
if(set==3){
printf("%d\n",a[h][l]);
a[h][l]=0;
if(a[h][l-1]==0){
set=4;
h--;
continue;
}else{
l--;
set=3;
continue;
}
}
//set4 左下→左上
if(set==4){
printf("%d\n",a[h][l]);
a[h][l]=0;
if(a[h-1][l]==0){
set=1;
l++;
continue;
}else{
set=4;
h--;
continue;
}
}
}
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:1103 |
C语言训练-最大数问题 (C语言代码)浏览:634 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:770 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:548 |
WU-字符串比较 (C++代码)浏览:767 |
母牛的故事 (C语言代码)浏览:559 |
1113题解浏览:795 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:697 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:325 |
输入输出格式练习 (C语言代码)浏览:852 |