永发信息网

为什么我写的程序得不到我要的效果?

答案:2  悬赏:40  手机版
解决时间 2021-04-27 16:14
  • 提问者网友:半生酒醒
  • 2021-04-26 16:13

想要得到: *

***

*****

*******

*****

***

*

类似以上的图形,于是写了以下程序:

#include<stdio.h>
void main()
{int i,j,n;
scanf("%d",&n);
if(n%2==1)
{for(i=1;i<=(n+1)/2;i++)
{for(j=1;j<(n+1)/2;j++)
printf(" ");
for(j=n+1-2*i;j<n;j++)
printf("*\n");}
for(i=1;i<=(n-1)/2;i++)
{for(j=1;j<=i;j++)
printf(" ");
for(j=2*i;j<n;j++)
printf("*\n");}}
else printf("error!");
getch();}

(其中n为想得到图形“*”的总行数)

但是得到的却不是想要的结果!

高手来!

最佳答案
  • 五星知识达人网友:底特律间谍
  • 2021-04-26 16:20
已经帮您修改好了。编译通过。
#include<stdio.h>
void main()
{int i,j,n;
scanf("%d",&n);
if(n%2==1)
{


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


}
else printf("error!");
getch();}


全部回答
  • 1楼网友:山有枢
  • 2021-04-26 17:30

循环从1到7递增2,然后等大于7后就递减2到1

挺简单的,你都没判断过,好好调调吧

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯