C语言用VC6.0编程; 要求用户输入行数,输出以下图形的形式

要求用户输入行数,输出以下图形的形式(菱形):用户输入6时:输入7时:*******************************************... 要求用户输入行数,输出以下图形的形式(菱形):
用户输入6时: 输入7时:
* *
*** ***
***** *****
***** *******
*** *****
* ***
*
展开
 我来答
百度网友6567883c53
2012-12-19 · TA获得超过4737个赞
知道大有可为答主
回答量:1260
采纳率:0%
帮助的人:1371万
展开全部

楼主你好。

#include <stdio.h>

void main(){

int i,j,n;

while(1){

printf("Please enter n:");

scanf("%d",&n);

for(i=0;i<(n+1)/2;i++){

for(j=0;j<n/2-i;j++)printf(" ");

for(j=0;j<2*i+1;j++)printf("*");

printf("\n");

}

for(i=0;i<n/2;i++){

for(j=0;j<i+1;j++)printf(" ");

for(j=0;j<(int)(n/2)*2-2*i-1;j++)printf("*");

printf("\n");

}

}

}


输出:

维多K
2012-12-19 · TA获得超过413个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:176万
展开全部
无非就是计算出每一行的空格数和星号数目罢了,很简单的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
congya001
2012-12-19 · TA获得超过5043个赞
知道小有建树答主
回答量:442
采纳率:0%
帮助的人:350万
展开全部
根据你的要求,程序如下:
#include <stdio.h>
int main()
{
int i,j,k;
int n=0;
printf("请输入菱形的行数:");
scanf("%d",&n);

for(i=0;i<=(n-1)/2;i++)
{
for(j=1;j<=n/2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*"); printf("\n");
}
for(i=1;i<=n/2+1;i++)
{
for(j=0;j<=i-1;j++)
printf(" ");
for(k=0;k<=2*(n/2)-2*i;k++)
printf("*");
printf("\n");
}
return 0;
}

以上程序已经用编译器编译通过,结果完全符合你的要求,
希望对你有所帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dnlovena
2012-12-19 · 超过21用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:48.9万
展开全部
在VS2008下写的
#include <stdio.h>
int main()
{
int inum;
int itemp;
printf("请输入行数:");
scanf("%d",&inum);
itemp = (inum - 1) / 2;
if (inum % 2 == 0)
{
for (int i = 1;i <= inum / 2;i++)
{
for (int j = 1; j <= itemp ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
itemp--;
printf("\n");
}
for (int m = 1; m < inum ; m++)
{
printf("*");
}
printf("\n");
int it = (inum - 1) / 2;
for (int i = it;i > 0;i--)
{
for (int j = 0; j <= it - i ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
printf("\n");
}
}
else
{
for (int i = 1;i <= inum / 2;i++)
{
for (int j = 1; j <= itemp ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
itemp--;
printf("\n");
}
for (int m = 0; m < inum ; m++)
{
printf("*");
}
printf("\n");
int it = (inum - 1) / 2;
for (int i = it;i > 0;i--)
{
for (int j = 0; j <= it - i ; j++)
{
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
printf("*");
}
printf("\n");
}
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式