标题:c用‘*’画菱形可变大小
只看楼主
lcsong85
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-11-9
结帖率:0
 问题点数:0 回复次数:3 
c用‘*’画菱形可变大小
以下是
用*输出一个菱形可通过longb的大小改变菱形的大小
#include<stdio.h>
static int x=1;
static int y=1;
static int numx1;
static int numx2;
static int longb=15;//菱形对角线长度可改变
static int temp;
extern void printfxingxing1(int longb);
extern void printfxingxing2(int longb);
extern void printfxingxing3(int longb);
void main()
{
    printfxingxing1(longb);
    printfxingxing2(longb);
    printfxingxing3(longb);
}


void printfxingxing1(int longb)
{
    temp=longb/3;
    numx1=numx2=temp+longb/2+1;
    for(y;y<=temp;y++)
    {
        for(x=0;x<=temp*4;x++)
        {
            if(x==numx1||x==numx2)
            {
                printf("*");
            }else{
                printf(" ");
            }
            
        }
        
        numx1--;
        numx2++;
        printf("\n");
        if(y==temp)
        {
            for(int i=1;i<=temp*4-2;i++)
            {
                if(i<=temp||i>=temp*3-1)
                {
                printf("* ");
                }else
                {
                printf(" ");
                }
                }
            printf("\n");
        }
    }
}

void printfxingxing2(int longb)
{
    temp=longb/3;
    numx1=2;
    numx2=temp*5+1;
    for(y=1;y<=temp-2;y++)
    {
        for(x=1;x<=temp*5+2;x++)
        {
            if(x==numx1||x==numx2)
            {
                printf("*");
            }else{
                printf(" ");
            }
        }
        numx1=numx1+2;
        numx2=numx2-2;
        printf("\n");
    }
}


void printfxingxing3(int longb)
{
    temp=longb/3;
    numx1=temp;
    numx2=temp*4+3;
    int num1,num2;
    num1=num2=temp+longb/2+1;
    for(y=1;y<=temp;y++)
    {
        for(x=1;x<=temp*6;x++)
        {
            if((x==numx1||x==numx2)||((x==num1||x==num2)&&y>=temp/2-1))
            {
                printf("*");
            }else{
                printf(" ");
            }
        }
        numx1=numx1-1;
        numx2=numx2+1;
        num1=num1-3;
        num2=num2+3;
        printf("\n");
    }
}
搜索更多相关主题的帖子: 可变 菱形 
2009-11-14 16:46
书恒
Rank: 2
来 自:石家庄
等 级:论坛游民
帖 子:48
专家分:52
注 册:2009-11-10
得分:0 
可惜自己才开始学,学的东西不多看不懂啊。

好好学习,誓死学好专业!!!
2009-11-14 17:13
shueng
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-7-13
得分:0 
不得不说,楼主,你的算法太复杂了,OUT了。。。
2010-07-13 15:18



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




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

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