c语言 打印梯形 错在那了

#include<stdio.h>
int main()
{
int n,i,k;
scanf("%d",&n);
for(i=1,k=1;k<=n+i+2;i++)
{
if(k=n+i+2)
printf("\n");
else if(k<=n-i)
for(i=1,k=1;k<=n-i;k++)
{printf(" ");}
else if(k>=n-i+1)
for(;k<=n+i+1;k++)
{printf("*");}
}
system("pause");
}

程序逻辑混乱,完全没法改
假设输出直角梯形:
***
* *
* *
* *
*******
1.输入n,表示需要输出的梯形的高度,假设上底长度3,以后每一行递增1
scanf("%d",&n);
2.输出上底3个*,一个回车
printf("***\n");
3.循环输出,每一行内嵌一个循环输出空格
0行 1个*,2个空格,1个*,一个回车
1行 1个*,3个空格,1个*,一个回车
2行 1个*,4个空格,1个*,一个回车
i行 1个*,i+2个空格,1个*,一个回车
for(i=0;i<n-2;i++)
{
printf("*");
for(j=0;j<2+i;j++) printf(" ");
printf("*\n");
}
4.输出下底n+2个*,一个回车
for(i=0;i<n+2;i++) printf("*");
printf("\n");
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-24
你的代码错的!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网