zouhf 发表于 2019-12-4 21:01:23

C语言循环输出图形

循环输出                     A
                                 ABA
                              ABCBA
                           ABCDCBA
                           ABCDEDCBA
                        ABCDEFEDCBA

ba21 发表于 2019-12-4 22:12:52

思考了一阵,代码有点粗,谁有更好的办法?
#include <stdio.h>

int main(void)
{
        char ch;
        int i, j;


        // 总共6行
        for( i=1; i<=6; i++)
        {
                // 输出前面空格
                j = 6 - i;
                while( j!=0 )
                {
                        printf(" ");
                        j--;
                }
               
                // 输出前半 字母
                j = i;
                ch = 'A';
                while( j )
                {
                        printf("%c", ch);
                        ch += 1;
                        j--;
                }
                // 输出后半 字母
                j = i-1;
                ch -= 1; // 这先把字母回退到 中间字母 以便后面递减输出
                while( j )
                {
                        ch -= 1;               
                        printf("%c", ch);                                       
                        j--;
                }
                printf("\n");
               
        }

        return 0;
}

974464395 发表于 2019-12-4 22:30:37

用for循环然后ASCII码自加可以的吧

jackz007 发表于 2019-12-4 22:55:01

本帖最后由 jackz007 于 2019-12-5 14:05 编辑

#include <stdio.h>
#include <math.h>

main(void)
{
      int i , j                                                                     ;
      for(i = 0 ; i < 6 ; i ++) {
                for(j = 0 ; j < 15 - i ; j ++) printf(" ")                            ;
                for(j = 0 ; j < i * 2 + 1 ; j ++) printf("%c" , 'A' + i - abs(j - i)) ;
                printf("\n")                                                          ;
      }
}
      编译、运行实况:
C:\Bin>g++ -o x x.c

C:\Bin>x
               A
            ABA
             ABCBA
            ABCDCBA
         ABCDEDCBA
          ABCDEFEDCBA

C:\Bin>

jackz007 发表于 2019-12-5 19:36:09

本帖最后由 jackz007 于 2019-12-5 19:52 编辑

      楼主,你的选择让我感到非常震惊,能不能说说,4 楼的代码有什么不能让你满意的地方吗?
      不会是因为代码太短吧?
页: [1]
查看完整版本: C语言循环输出图形