65,208
社区成员
发帖
与我相关
我的任务
分享#include <stdio.h>
#include <memory.h>
char m[79*79];
int n;
char a;
char b;
int i,x,y;
void setxy(int xx,int yy,char c) {
m[yy*n+xx]=c;
}
void main() {
if (3!=scanf("%d %c %c",&n,&a,&b)) {
printf("Please input n(3,5,7,...,77,79) a b\n");
return;
}
if (0==n%2 || n<3 || 79<n) {
printf("Please input n(3,5,7,...,77,79) a b\n");
return;
}
memset(m,b,n*n);
setxy(0 ,0 ,' ');
setxy(0 ,n-1,' ');
setxy(n-1,0 ,' ');
setxy(n-1,n-1,' ');
for (i=1;i<(n+1)/2;i+=2) {
y=i;
for (x=i;x<n-i;x++) setxy(x,y,a);
y=n-1-i;
for (x=i;x<n-i;x++) setxy(x,y,a);
x=i;
for (y=i;y<n-i;y++) setxy(x,y,a);
x=n-1-i;
for (y=i;y<n-i;y++) setxy(x,y,a);
}
for (y=0;y<n;y++) {
for (x=0;x<n;x++) {
printf("%c",m[y*n+x]);
}
printf("\n");
}
}