以下是n=4,m=5的空心长方形:
* * * * *
* *
* *
* * * * *
[此贴子已经被作者于2005-10-9 16:07:09编辑过]
用二重指针做下试试! #include <stdio.h>
void main() { int m,n; char **p; printf("请输入要显示矩形的长和宽!"); scanf("%d%d",&n,&m); char t[3]={"* "}; p=new char *[m]; for(int i=0;i<m;i++) { p[i]=new char[n]; } for(i=0;i<2;i++) { for(int j=i;j<m-i;j++) { for(int k=i;k<n-i;k++) { p[j][k]=t[i]; } } } for(i=0;i<m;i++) { for(int j=0;j<n;j++) { printf("%c",p[i][j]); } printf("\n"); } delete []p; }
#include<stdio.h>
int main() { int m,n; do{ printf("输入n:"); scanf("%d",&n); if(n < 1) printf("n不能小于1\n"); }while(n < 1); do{ printf("输入m:"); scanf("%d",&m); if(m > 15) printf("m不能大于15\n"); }while(m > 15); for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++) { if((i > 1) && (i < n)) { if((j > 1) && (j < m)) printf(" "); else printf("* "); if(j == m) printf("\n"); } else { printf("* "); if(j == m) printf("\n"); } } return 0; }