当前位置: 代码迷 >> C语言 >> 求一个程序的循环设置?
  详细解决方案

求一个程序的循环设置?

热度:225   发布时间:2008-04-19 21:04:04.0
我看的好象不是这种形式实现的,还有其他的方法吗
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]corpro[/un] 在 2008-4-19 21:04 的发言:[/bo]

我看的好象不是这种形式实现的,还有其他的方法吗

..................


----------------解决方案--------------------------------------------------------
根据刚才的改进了一点点:

#include <stdio.h>

void put_stars(int k)
{
    int i;
    for(i=1;i<=k;i++)
        printf(" ");
    printf("*");
    for(i=1;i<=(5-k)*2-1;i++)
        printf(" ");
    if(k<5)
        printf("*");
    printf("\n");
}
int main()
{
    int j;
    for(j=5;j>=0;j--)
        put_stars(j);
    for(j=1;j<=5;j++)
        put_stars(j);
    return 0;
}

[[it] 本帖最后由 liweiruc 于 2008-4-19 21:10 编辑 [/it]]
----------------解决方案--------------------------------------------------------
看到燕子的代码, 又长进了///
构造对称区间 , 我笨~
----------------解决方案--------------------------------------------------------
我学的还不行,真的要向你们学习了
----------------解决方案--------------------------------------------------------
燕子那代码,我们一般人还真想不到的
----------------解决方案--------------------------------------------------------
用数组写也可以啊
main()
{
char a[][5]={{'','','*'};{'','*','','*'};{'*','','','','*'};{'','*','','*'};{'','','*'}};
int i,j;i=0;j=0
for(;i<5;i++)
{
for(;j<5;j++)
printf("%c",a[][5]);
printf("\n");
}
}
----------------解决方案--------------------------------------------------------
这样如何。。。
程序代码:

#include <stdio.h>
int main()
{
    int n,flag=1;
    scanf("%d",&n);

    for( int i=0;i!=2*n-1;++i)
    {
        for(int j=i;j!=n-1;j+=flag,putchar(' '));
        putchar('*');
        if(i==n-1)
            flag*=-1;
        if(i!=0&&i!=2*(n-1))
        {
        for(int k=2*n;k!=2*(n*flag+i)+2-3*flag;k+=flag,putchar(' '));
            putchar('*');
        }
        putchar('\n');
    }
    return 0;
}

----------------解决方案--------------------------------------------------------
kandao  燕子的代码 我暴汗
----------------解决方案--------------------------------------------------------
我也写一个
#include<stdio.h>

int main()
{
    int i,m;
    for(i=1,m=1;i<8;i++,m=i-(i/4)*(i%4)*2)
        printf("%*s%*s\n",4-m,"    "+m-1,2*m-1,"*\0* *\0*   *\0*     *"+m*(m-1));
    return 0;
}
----------------解决方案--------------------------------------------------------
  相关解决方案