Problem C: 零起点学算法95——弓型矩阵
Description
输出n*m的弓型矩阵
Input
多组测试数据 每组输入2个整数 n和m(不大于20)
Output
输出n*m的弓型矩阵,要求左上角元素是1,(每个元素占2个位置,靠右)
Sample Input
4 3
Sample Output
1 2 3
6 5 4
7 8 9
12 11 10
#include<stdio.h>
int main()
{
int n,m,i,j,flag,a[20][20];
while(scanf("%d %d",&n,&m)!=EOF)
{
int t=1;flag=0;
for(i=0;i<n;i++)
{ flag++;
if(flag%2!=0){
for(j=0;j<m;j++)
{
a[i][j]=t;
t++;
}
}else{
for(j=m-1;j>=0;j--){
a[i][j]=t;
t++;
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m-1;j++)
{
printf("%2d ",a[i][j]);
}
printf("%2d\n",a[i][m-1]);
}
}
return 0;
}
本文介绍了一种生成弓型矩阵的算法,通过该算法可以输出指定大小的弓型矩阵,矩阵左上角元素为1,元素按特定规律分布。文章提供了完整的C语言代码实现,适用于算法初学者学习。
947

被折叠的 条评论
为什么被折叠?



