以下是n=4,m=5的空心长方形:
* * * * *
* *
* *
* * * * *
[此贴子已经被作者于2005-10-9 16:07:09编辑过]
----------------解决方案--------------------------------------------------------
main()
{
int i,j,n,m;
printf("please input n and m:\n");
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
printf("*");
printf("\n");
for(j=1;j<m-1;j++)
{printf("*");
for( i=0;i<n-2;i++)
printf(" ");
printf("*");
printf("\n");}
for(i=0;i<n;i++)
printf("*");
printf("\n");
getch();
}
c语言群9771099
----------------解决方案--------------------------------------------------------
二楼的多了getch();
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void heng(int m)
{int i;
for(i=0;i<m;i++)printf("*");
printf("\n");
}
void lie(int m)
{int i;
printf("*");
for(i=0;i<m-2;i++)
printf(" ");
printf("*");
printf("\n");
}
main()
{int m,n,i;
printf("enter m,n(1<=n,m<=15):\n");
scanf("%d %d",&m,&n);
if(n<1||n>15||m<1||m>15){printf("data error!retry!");scanf("%d %d",&m,&n);}
heng(m);
for(i=0;i<n-2;i++)
lie(m);
heng(m);
getch();
}
----------------解决方案--------------------------------------------------------
这么好玩,我也来 main() { int m, n, i, j;
scanf("%d%d", &m, &n);
for(i=0; i<n; i++) { printf("*"); for(j=1; j<m-1; j++) if (i==0||i==n-1) printf("*"); else printf(" "); printf("*\n"); } } 问下楼上的,怎么你的MSN是126的?我怎么记得没126的啊/
----------------解决方案--------------------------------------------------------
回楼上的,MSN跟126.com没有仇吧?怎么会没有126.com 的捏?嘿嘿,
----------------解决方案--------------------------------------------------------
用二重指针做下试试! #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; }
----------------解决方案--------------------------------------------------------
我记得好像循环里的n和m是不能这样在运行的时候输入的我觉得你们这个有点问题,不知道我说的对不对???
----------------解决方案--------------------------------------------------------
#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; }
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------