飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3378|回复: 6

[C/C++] play with *

[复制链接]

该用户从未签到

发表于 2009-6-4 01:33:17 | 显示全部楼层 |阅读模式
看了Nisy大哥那个用*打出菱形,受了点启发,想玩玩那个*。也就是用*打出你想好的图形。
写这篇 play with *,旨在抛砖引玉,希望兄弟们不要见笑。
下面就发点东西
阶梯的模型:
构思图== 3.gif   运行效果图== 4.gif
附件== JT.rar (6.75 KB, 下载次数: 3)
代码:
#include "stdio.h"
main()
{
    int i,j,a;
    clrscr();
    printf("        / paly with * by huangsyx | \n      / compile with my own C IDE | \nPlease input a number\n");
    scanf("%d",&a);
    for(i=0;i<a;i++)
    {   for(j=0;j<=a+4;j++)
        {
            if(j>=i&&j<=i+4)printf("*");
            else if(j==a+4)printf("\n");
            else printf(" ");
        }
    }
    getchar();
    getchar();
}

我这个阶梯是每一层是5个*而且相邻两层相差一个*,其实如果需要更改每层的*数和相邻两层相差的*数需改动行列关系(我这里的这个示范程序是列==行+4)和“j>=i&&j<=i+4”这个语句以及有可能需要另外定义第一行数目,下面我改为每层有6个*相邻两层相差2个*
运行效果图== 6.gif
更改内容:j<=2*a+4  和  if(j>=2*i && j<=2*i+5)
由此出发得到对角线的程序:
运行效果图== 5.gif
当然还有其他的变化,小弟今天就写这么点,以后想到了什么在写出来和大家探讨。这篇帖子旨在抛砖引玉!
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2009-6-4 02:16:26 | 显示全部楼层
在发一个  P Y g 的显意图,代码现在还没有想出来(因为我不想只用穷举法,那个完全丧失了程序的意义。程序就是算法,就是你的逻辑!我不想让我的逻辑就只是穷举。)
效果图: play_1.gif

[ 本帖最后由 最忌注册 于 2009-6-4 02:18 编辑 ]
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-4-29 07:52
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-6-4 06:50:48 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-4 08:13:38 | 显示全部楼层
    这个东西其实想一下就可以了 写这个东西 主要是练习大家的逻辑+语法 弄会一个就可以了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-4 22:22:53 | 显示全部楼层
    用电子管的七段显示法比较简单,嘿嘿
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-6-5 12:17:06 | 显示全部楼层
    兄弟我就是学习电子的
    那个七段法是硬件(发光二极管,那个电路也不是很难,其实那个电路也是属于硬件的范畴,我想的是用程序驱动那些硬件),我学习C就是为了以后搞电子设计和爱好程序设计(梦想做一个很厉害的程序员)

    在PS一句那个七段法是: mkh3.gif
    可以看出那个显示PYg也不是很容易的

    [ 本帖最后由 最忌注册 于 2009-6-5 12:21 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-7-2 13:37:35 | 显示全部楼层
    在一本杂志上看到的试了试
    screenshot.gif
    源码:
    #include "math.h"
    main()
    {
            double y;
            int x,m;
        for(y=1;y>=-1;y-=0.1)
            {
                    m=acos(y)*10;
                    for(x=1;x<m;x++) printf(" ");
                    printf("*");
                    for(;x<62-m;x++)printf(" ");
                    printf("*\n");
            }
    }

    [ 本帖最后由 最忌注册 于 2009-7-2 14:46 编辑 ]
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表