标题:求写菱形的代码
只看楼主
ypu
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-10-15
 问题点数:0 回复次数:10 
求写菱形的代码
求菱形的完整代码, 用FOR 来写, m为行数,按以下的思路来写
for(i=1;i<=2*m-1;i++)
{
     for(j=1;j<=fabs(m-i);j++)
         printf(" ");
.......
}

[[it] 本帖最后由 ypu 于 2008-10-15 21:19 编辑 [/it]]
搜索更多相关主题的帖子: 菱形 代码 
2008-10-15 21:08
ypu
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-10-15
得分:0 


[[it] 本帖最后由 ypu 于 2008-10-15 21:20 编辑 [/it]]
2008-10-15 21:17
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:0 
程序代码:
#include<stdio.h>
#include<math.h>
int main(void)
{
    int i,j,k,n;
    do
    {
        printf("input n:\n");
        scanf("%d",&n);
        if(n>23||n%2==0)
            printf("error\n");
    }while(n>23||n%2==0);
    n/=2;
    k=n+1;
    for(i=-n;i<=n;i++)
    {
        for(j=0;j<abs(i);j++)
            printf(" ");
        for(j=0;j<(k-abs(i))*2-1;j++)
            printf("*");
        printf("\n");
    }
    getch();
}
2008-10-15 22:09
永久的守护
Rank: 1
等 级:新手上路
威 望:2
帖 子:425
专家分:6
注 册:2007-6-9
得分:0 
main(i){i<30&&(i%6<5&&(printf(i%6>4-i/6?"*":"_"),main(i+1),printf(i%6>=4-i/6?"*":"_")),i%6==1&&(printf(i%6>4-i/6?"*":"_"),printf("\n"),main(i+6),i+=30)),i>=32&&(i%6<5&&(printf(i%6>10-i/6?"*":"_"),main(i+1),printf(i%6>=10-i/6?"*":"_")),i%6==1&&(printf(i%6>10-i/6?"*":"_"),printf("\n")));}

见了便做做了便放下了了有何不了,慧生于觉觉生于自在生生还是无生。
活则生变,简而至稳。
2008-10-15 22:48
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
得分:0 
回复 4# 永久的守护 的帖子
和你的签名背道而驰,我发现你是越来越不菜了~~~

你的程序令我很迷糊,不过输出的效果却是很好滴。能不能把行数不固定而改用用户输入呢?另外,你的程序能否作下注释呢?

谢谢。
2008-10-15 22:57
cblovehh
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2008-10-14
得分:0 
ls的ls真不是盖的,这个也能写出来,牛啊

我是OVER!!!    我是OVER!!!    我是OVER!!!
2008-10-15 23:01
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
格式化一下:
程序代码:
#include <stdio.h>

main(i)
{
    i<30&&
    (    
        i%6<5&&
        (
            printf(i%6>4-i/6?"*":"_"),
            main(i+1),
            printf(i%6>=4-i/6?"*":"_")
        ),

        i%6==1&&
        (
            printf(i%6>4-i/6?"*":"_"),
            printf("\n"),
            main(i+6),
            i+=30
        )
    ),
        
    i>=32&&
    (    
        i%6<5&&
        (
            printf(i%6>10-i/6?"*":"_"),
            main(i+1),
            printf(i%6>=10-i/6?"*":"_")
        ),
        
        i%6==1&&
        (
            printf(i%6>10-i/6?"*":"_"),
            printf("\n")
        )
    );
}
2008-10-16 01:35
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
俺不懂的是最初的i的值是当作argc送来的1么?
2008-10-16 01:40
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
LS:对的,所以只要你给这个程序传一个参数这个程序的画画就出错了……

纯粹的娱乐行为,真正写代码的时候可千万别这么写……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-10-16 02:34
永久的守护
Rank: 1
等 级:新手上路
威 望:2
帖 子:425
专家分:6
注 册:2007-6-9
得分:0 
写这种代码其实很简单的
只要先按照类似7楼的方式写出来 然后一改就出来一行代码的效果了
就像楼上说的 纯属娱乐 呵呵

见了便做做了便放下了了有何不了,慧生于觉觉生于自在生生还是无生。
活则生变,简而至稳。
2008-10-16 08:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-238515-1-1.html




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

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