| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 476 人关注过本帖
标题:怎么输出不断增加或减少的空格啊??
只看楼主 加入收藏
C_9
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2013-8-31
结帖率:0
收藏
已结贴  问题点数:6 回复次数:5 
怎么输出不断增加或减少的空格啊??

我想输出金字塔形状的样子,求指教!

#include<stdio.h>
#define SIZE 26
int main(void)
{    int i,j;
char name[SIZE]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    for(i=0;i<26;i++)
    {   
        for(j=0;j<=i;j++)
            printf("%c",name[j]);
        for(j=i-1;j>=0;j--)
            printf("%c",name[j]);
            printf("\n");
    }

    return 0;


}
搜索更多相关主题的帖子: include 金字塔 
2013-08-31 12:52
天空编程
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:53
专家分:123
注 册:2013-7-5
收藏
得分:3 
不知道是不是需要这样的金字塔呢?
#include<stdio.h>
#define SIZE 27
int main(void)
{   
     int i,j,k;
     char name[SIZE]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
     for(i=0;i<=28/2;i++)
     {
         for(j=0;j<SIZE-i;j++)
         {
             printf(" ");
         }
         for(k=0;k<2*i-1;k++)
         {
             printf("%c",name[k]);
         }
         printf("\n");
     }
 
    return 0;
 

}
2013-08-31 14:04
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:3 
楼主的提问不合格,你应该贴出你需要的结果图,否则别人只能瞎猜你想要的效果
我来瞎猜一下
程序代码:
#include <stdio.h>

#define SIZE 16

int main(void)
{
    const char* alpha =   "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    const char* reverse = "ZYXWVUTSRQPONMLKJIHGFEDCBA";

    for( int i=0; i<SIZE; ++i )
        printf( "%*s%.*s%s\n", SIZE-i-1, "", 1+i, alpha, reverse+26-i );

    return 0;
}
输出为
               A
              ABA
             ABCBA
            ABCDCBA
           ABCDEDCBA
          ABCDEFEDCBA
         ABCDEFGFEDCBA
        ABCDEFGHGFEDCBA
       ABCDEFGHIHGFEDCBA
      ABCDEFGHIJIHGFEDCBA
     ABCDEFGHIJKJIHGFEDCBA
    ABCDEFGHIJKLKJIHGFEDCBA
   ABCDEFGHIJKLMLKJIHGFEDCBA
  ABCDEFGHIJKLMNMLKJIHGFEDCBA
 ABCDEFGHIJKLMNONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA
2013-08-31 15:16
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
还可以更简单:
程序代码:
#include <stdio.h>

#define SIZE 16

int main(void)
{
    const char* alpha =   "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    const char* reverse = "ZYXWVUTSRQPONMLKJIHGFEDCBA";

    for( int i=0; i<SIZE; ++i )
        printf( "%*.*s%s\n", SIZE, 1+i, alpha, reverse+26-i );

    return 0;
}

2013-08-31 15:18
C_9
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2013-8-31
收藏
得分:0 
恩恩,就是这样的!谢谢各位啊
2013-08-31 15:27
C_9
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2013-8-31
收藏
得分:0 
以下是引用rjsp在2013-8-31 15:18:17的发言:

   printf( "%*.*s%s\n", SIZE, 1+i ); 是打印SIZE和1+i之差那么大的空格吗
 
  
2013-08-31 15:47
快速回复:怎么输出不断增加或减少的空格啊??
数据加载中...
 
   



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

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