c打印一个N*N的方阵
打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),要求最外层为"X",第二层为"Y",从第三层起每层依次打印数字0,1,2,3,...
例子:当N =5,打印出下面的图形:
X X X X X
X Y Y Y X
X Y 0 Y X
X Y Y Y X
X X X X X
C/C++ code:
#include <iostream>
#include <iomanip>
using namespace std;
#define N 7 //这个大小可以改
char c[N][N];
int main()
{
for(int i=0; i<N; i++)
for(int j=0; j<N; j++)
{
int temp;
if(i<=j && i+j<=N-1)
temp = i;
else if(i>j && i+j>N-1)
temp = N-1 - i;
else if(i>j && i+j<=N-1)
temp = j;
else
temp = N-1 - j;
if(temp == 0)
c[i][j] = 'X';
else if(temp == 1)
c[i][j] = 'Y';
else
c[i][j] = '0' + temp - 2;
}
for( i=0; i<N; i++)
{
for( int j=0; j<N; j++)
{
printf("%5c",c[i][j]);
}
printf("\n");
}
}
看看
首先谢谢1楼!
有没有不分配存储空间的方法?
#include <stdio.h>
#include <stdlib.h>
相关问答:
#include <string.h>
#include <stdio.h>
void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......
各位大侠,小弟有一个问题请教,如下
这个 #define stack_push 是一个函数,调用是这样的
int len;
stack_t *stack;
const char *curpos;
int seglen;
const char *next_slash;
int i;
......
一个数如果好等于它的因子之和,这个数就成为"完数",例如6的因子为1,2,3而6=1+2+3,而6=1+2+3,因此6是“完数".编程序找出1000之内的所有完数,并按下面格式输出其因子:6 its factors are 1,2,3
......
本人对C特别感兴趣,希望志同道合的人一起交流,另外还可以一起讨论linux问题
QQ群:17409844
有兴趣的同志加下
顶个.
帮顶……
不过确实对群失望了>_ <
顶上
顶一个
请接受啊
&nbs ......