| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1306 人关注过本帖
标题:求助菱形的算法!尽量详细点吧!
只看楼主 加入收藏
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
结帖率:89.66%
收藏
已结贴  问题点数:20 回复次数:16 
求助菱形的算法!尽量详细点吧!
     *   
    ***
   *****
  *******
   *****
    ***
     *
输出这样一个图案!!
搜索更多相关主题的帖子: 菱形 算法 
2010-05-09 11:12
qaz107
Rank: 2
等 级:论坛游民
帖 子:36
专家分:33
注 册:2010-2-17
收藏
得分:10 
#include<stdio.h>
void main()
{
    int i,j;                //i控制行数
    for(i=1;i<=3;i++)
    {
        for(j=1;j<i+5;j++)
            if
                (j<=5-i)
                printf(" ");
            else
                printf("*");
        printf("\n");
    }                            //分两部分,上面是上半部,下面是下半部,可以注释下面的看看效果
    for(i=2;i>=1;i--)
    {
        for(j=1;j<i+5;j++)
            if(j<=5-i)
                printf(" ");
            else
                printf("*");
        printf("\n");
    }
}

我打的这是个小一点的菱形,你只要把数字改一下就行了,这个我刚开始也看不懂, 你自己拿笔算算就明白了,反正我是这样^^

[ 本帖最后由 qaz107 于 2010-5-9 13:46 编辑 ]
2010-05-09 12:23
xu362726904
Rank: 6Rank: 6
等 级:侠之大者
帖 子:160
专家分:471
注 册:2009-6-18
收藏
得分:0 
#include <stdio.h>
#include<stdlib.h>
int main()

{
    int n,i,j;
   
    scanf("%d",&n);
   
    for(i=0;i<n;i++)
   
    {
      for(j=i;j<n+1;j++)
      printf(" ");
      for(j=0;j<2*i+1;j++)
      printf("*");
      printf("\n");
    }
      
    for(i=n-1;i>=0;i--)
   
    {
      for(j=i;j<n+1;j++)
      printf(" ");
      for(j=0;j<2*i+1;j++)
      printf("*");
      printf("\n");
    }
    system("pause");
    return 0;                                         
}
2010-05-09 12:42
灰色代言
该用户已被删除
收藏
得分:10 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-09 13:22
灰色代言
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-09 13:32
chenwar
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2010-5-8
收藏
得分:0 
我觉得2楼的算法比较好,运算效率快
2010-05-09 14:20
swordman1110
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-09 14:26
liuxiaodong
Rank: 1
等 级:新手上路
帖 子:23
专家分:6
注 册:2010-3-26
收藏
得分:0 
我用的是for 循环,还是比较简单
#include <stdio.h>
#include <math.h>
void main ()
{
    int i, j;
    for (i = -3; i <= 4; i++)
    {
        for (j = 1; j <= fabs (i) ; j++)
        {
            printf (" ");
        }
        for (j = 1; j <= 2 * (4 - fabs (i)) - 1; j++)
        {
            printf ("*");
        }
        printf ("\n");
    }
}
2010-05-09 15:13
aiyinsitan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:183
专家分:177
注 册:2010-4-22
收藏
得分:0 
主要是写两个循环,一个控制行,一个控制列

#include"stdio.h"
main()
{int i,j;
for(i=1;i<=7;i++)
{
if(i<=4)
{ for(j=1;j<=(-1)*i+4;j++)  
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
}
else
{
for(j=1;j<=i-4;j++)
printf(" ");
for(j=1;j<=(-2*i)+15;j++)
printf("*");
}
printf("\n");
}
}
2010-05-09 17:02
xiawengxing
Rank: 2
来 自:内蒙古
等 级:论坛游民
帖 子:33
专家分:42
注 册:2010-4-2
收藏
得分:0 
#include <stdio.h>//**********菱形**************可变
void main()
{
    int i,j,n;
    printf("Input number:");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        for(j=n;j>i;j--)
            printf(" ");
        for(j=1;j<2*i;j++)
            printf("*");
        printf("\n");
    }
    for(i=1;i<=n-1;i++)
    {
        for(j=1;j<=i;j++)
            printf(" ");
        for(j=1;j<2*(n-i);j++)
            printf("*");
        printf("\n");
    }
}
2010-05-09 17:06
快速回复:求助菱形的算法!尽量详细点吧!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042825 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved