印刷品长方形 我写的代码为什么不对

来源:百度知道 编辑:UC知道 时间:2024/05/17 23:46:13
写读二个整数的一个节目(高度x长度)例如和印刷品长方形,与指定的维度的星号概述, :
Enter长方形高度和长度:
3 5
* * * * *
* *
* * * * *

#include <stdio.h>
#include <stdlib.h>
char s(int x,char y);
int main()
{
int j,i,z;
scanf("%d",&i);
scanf("%d",&j);
for(z=1;z<=i;z++){
if(z==1||z==i)

printf("%c\n",s(j,'*'));
else
printf("*");printf("%c",s(j-2,' '));printf("*\n");
}
system("pause");
return 0; //缺少返回值
}
char s(int x,char y)
{
int i;
for(i=1;i<=x;i++)
{
printf("%c",y);
}
return 0;
}
结果;
* * * * *
*
* * * * *
*

#include <stdio.h>
#include <stdlib.h>
char s(int x,char y);
int main()
{
int j,i,z;
scanf("%d",&i);
scanf("%d",&j);
for(z=1;z<=i;z++){
if(z==1||z==i)printf("%c\n",s(j,'*'));
else {printf("*");
printf("%c",s(j-3,' '));
printf("*\n"); }
}
system("pause");
return 0; //缺少返回值
}
char s(int x,char y)
{
int i;
for(i=1;i<=x;i++)
{
printf("%c",y);
}
return 0;
}

帮你改好了!

else
printf("*");printf("%c",s(j-2,' '));printf("*\n");
这里要用括号{}括起来!
变成
else {printf("*");
printf("%c",s(j-3,' '));
printf("*\n"); }

还有就是j-2要改成j-3

其他没问题了!

自己调试看看吧!