输入一个菱形.

到百度贴吧首页
新闻   网页   贴吧   知道   MP3   图片   视频   百科
    吧内搜索 | 帮助

输入一个菱形.

60.176.253.*

1楼

#include<stdio.h>
main()
{int i,a,b,c=1;
for(i=1;i<=5;i++)
{for(a=1;a<=5-i;a++)
    printf(" ");
for(b=1;b<=c;b++)
    printf("*");
printf("\n");
c+=2;
}
c=7;
for(i=1;i<=4;i++)
{for(a=1;a<=i;a++)
 printf(" ");
 for(b=1;b<=c;b++)
 printf("*");
 printf("\n");
 c-=2;

system("pause");
}  

结果:
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

问:有没有更简单一点的方法,输出上面这个图??

2楼

你的可以了
#include <stdio.h>
int main()
{
int i,j;
for (i=4;i>=0;i--)
{
for (j=1;j<=i;j++)
printf(" ");
for (j=1;j<=9-2*i;j++)
printf("*");
printf("\n");
}
for (i=1;i<=4;i++)
{
for (j=1;j<=i;j++)
printf(" ");
for (j=1;j<=9-2*i;j++)
printf("*");
printf("\n");
}
getch();
}

3楼

习题~~

4楼

咋那么费事呀?
#include "stdio.h";
#define N 5 /* N为阶数,可以改为其他正整数 */
main()
{int m=N*2,i,j;
for(i=1;i<m;printf("\n"),i++)
 for(j=1;j<m;putchar(N-abs(i-N)<=abs(j++-N)?' ':'*'));}
这就可以了。

60.176.253.*

5楼

大哥,我只学到循环

6楼

我的那个程序也只用到了循环,还非常简单。

7楼

你真牛呀。
221.12.10.*

8楼

宁西贯通,服了你了,咋感觉你写的程序都是寥寥数笔,还蛮管用的

9楼

厉害,我好想和你学一下

10楼

可不可以给我解释一下abs是干什么呢?谢谢!你真的很厉害!你都什么时候在呀?

11楼

我想找宁西贯通

12楼

abs(x)是x的绝对值。
此函数在basic、pascal、C、数控等编程语言中通用。

211.68.2.*

13楼

崇拜宁西贯通!!!
202.114.121.*

14楼

great!

15楼

13楼的朋友,不要谈什么崇拜!要相信自己的实力!
202.114.121.*

16楼

如果要输出有空格的图形,比如:
 * *
 * * * *
* * * * * *

该怎么办?

202.114.121.*

17楼

怎么回事?
图形一发帖就变形了

219.216.128.*

18楼

问的好
218.25.161.*

19楼

#include "stdio.h"
main()
{int i,j;
for (i=4;i>=-4;i--)
{ for (j=1;j<=9-abs(i);j++)
 if(j==abs(i)+1||j==9-abs(i))printf("*");
 else printf(" ");
printf("\n");}
getch();
}

202.114.121.*

20楼

谢谢了!
其实我说的是*之间有空格
而不是中间全都是空格

219.140.14.*

21楼

#include<stdio.h>
#include<math.h>
void main()
{
int i,j,k,m;
printf("输入行数:");
scanf("%d",&m);
k=2*m-1;
for (i=-(k/2);i<=k;i++)
{
for (j=0;j<abs(i);j++)
printf(" ");
for (j=0;j<k-2*abs(i);j++)
printf("*");
 printf("\n");
}
 }

222.181.154.*

22楼

4楼的,你的程序在C-Free 3.5里面通不过啊,赐教!

23楼

回复22:这个程序在Turbo C2.0下调试通过。

24楼

main()
{
printf(" *\n ***\n *****\n*******\n *****\n ***\n *\n");
}

25楼

努力学好C写的那个程序根本就不打算努力学好C。

26楼

#include "stdio.h"
main()
{int a,b,c,d;
for(a=1;a<=4;a++)
{for(b=1;b<=4-a;b++)
printf(" ");
for(c=1;c<=2*a-1;c++)
printf("*");
printf("\n");
}
for(a=1;a<=3;a++)
{for(b=1;b<=a;b++)
printf(" ");
for(c=1;c<=6-(2*a-1);c++)
printf("*");
printf("\n");
}
}

27楼

晕。。为什么这样说呢。。我才刚刚开始学C两天。只是会这么一点点啊。。我已经按照他的要求输出里了啊。只不过是个死的。。等我真真正正的学好了C以后我会让你见识到我的能力。。我每天都花10多个小时去看书和写笔记。。上机测试。我相信我会在最短的时间学好入门。然后我会教钱去学英文和离散数学的。。

努力成为国家的有用人才。。。。

呵呵。。。。
希望大家以后多多指导小弟。。在下感激不禁。。。。

61.128.160.*

28楼

sb
220.249.34.*

29楼

abs需要#include<math.h>
不要也可以,定义一个宏:
#define abs(x) (x<0?-x:x)

218.24.142.*

30楼

16楼的,我告诉你一个输出你的图形的方法,
就是用PRINTF直接输出!!

发表回复

内 容:
用户名:
  
©2010 Baidu 贴吧协议  意见反馈