标题:急,C语言的一道题:输入一个正整数n,各输出n行的正(倒)三角形宝塔图案。
只看楼主
garypang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-10-29
结帖率:0
已结贴  问题点数:10 回复次数:7 
急,C语言的一道题:输入一个正整数n,各输出n行的正(倒)三角形宝塔图案。
输入一个正整数n,各输出n行的正(倒)三角形宝塔图案。运行结果如下图(中间空三行):
搜索更多相关主题的帖子: 三角形 图案 整数 宝塔 C语言 
2009-11-02 13:00
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
得分:2 
#include<stdio.h>
#include<conio.h>
void main()
{
    int i,j,k,n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        for(j=0;j<n-1-i;j++)
          printf(" ");
        for(k=0;k<2*i+1;k++)
        printf("*");
        printf("\n");
    }
    printf("\n\n\n");
    for(i=0;i<n;i++)
    {
       for(j=0;j<i;j++)
         printf(" ");
         for(k=0;k<2*(n-i)-1;k++)
          printf("*");
          printf("\n");
      }
      getch();
  }

   

离恨恰如春草,更行更远还生。
2009-11-02 13:33
robin254817
Rank: 1
等 级:新手上路
帖 子:7
专家分:2
注 册:2009-10-27
得分:2 
回复 2楼 玩出来的代码
很棒,顶个!
2009-11-02 17:40
rexzheng
Rank: 2
等 级:论坛游民
帖 子:32
专家分:13
注 册:2009-10-26
得分:2 
我也来个
#include<stdio.h>
main()
{
   
    int i=1,j=1,a,b;
    scanf("%d",&a);
    a=2*a-1;
    b=a/2+1;
    while(0==0)
    {
        if(i<=b-j) printf(" ");
        if(i>b-j&&i<b+j) printf("*");
        if(i>=b+j)
        {
            printf("\n");
            j++;
            i=0;
        }
        i++;
        if(j>b) goto N;
    }
N:j--;
  printf("\n\n");
    while(0==0)
    {
        if(i<=b-j) printf(" ");
        if(i>b-j&&i<b+j) printf("*");
        if(i>=b+j)
        {
            printf("\n");
            j--;
            i=0;
        }
        i++;
        if(j<0) goto N1;
    };
N1:;
}
2009-11-02 18:27
rexzheng
Rank: 2
等 级:论坛游民
帖 子:32
专家分:13
注 册:2009-10-26
得分:0 
我的挺复杂啊。。哈哈
不过2楼的真的简洁。。哈哈 还没有学for  哈哈
我这个C刚学。。只会用一些语句
2009-11-02 18:31
xiaotutu6000
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:85
专家分:137
注 册:2009-10-30
得分:2 
五楼的赞一个~~!!!

       2楼的强悍~!你能用一个外城for循环写出来吗??
2009-11-02 19:01
xiaotutu6000
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:85
专家分:137
注 册:2009-10-30
得分:0 
我在顶一个。。
#include <stdio.h>
void main()
{
    int i,j,k,num;
    int a,b,c;
    printf("请输入菱形大小\n");
    scanf("%d",&num);
    for(i=1;i<=num;i++)
    {
        for(j=num-1;j>=i;j--)
        {
            printf(" ");
        }
        for(k=1;k<=2*i-1;k++)
        {
            printf("*");
        }
        printf("\n");
    }
    for(a=1;a<=num-1;a++)
    {
        for(b=1;b<=a;b++)
        {
            printf(" ");
        }
        for(c=2;c<=k-2*a;c++)
        {
            printf("*");
        }
        printf("\n");
    }
}
请大家把它改成一个for循环的,,谢谢给位大虾啦。。。。
2009-11-02 19:10
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
得分:2 
短点的。
程序代码:
#include<stdio.h>
int main(void)
{
    int i=1,j,k=1,n;
    scanf("%d",&n);
    while(i>0)
    {
     for(j=n-i;j;j--)
       printf(" ");
     for(j=i;j;j--)
       printf(" *");
     printf("\n");
     if(i==n&&k==1)k=0,i+=2,printf("\n\n\n");
     if(k) i+=2;
     else i-=2;  
    }  
    getch();
   return 0;
} 

努力—前进—变老—退休—入土
2009-11-02 19:23



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




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

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