`
steven-zhou
  • 浏览: 207848 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

根据数组中各元素的大小,在终端中垂直打印与之匹配的*号

阅读更多
如:数组 int a[9] = {1,2,3,4,5,4,3,2,1}; 打印
     *
    ***
   *****
  *******
 *********



#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

static void erect_pillar(int a[], int size);
static int max_elem(int a[], int size);

int main(int argc, char **argv)
{
    int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    erect_pillar(a, 10);

    exit(EXIT_SUCCESS);
}

static void erect_pillar(int a[], int size)
{
    int     high = max_elem(a, size);
    int     i, j;

    for (i = 0; i < high; i++) {
        for (j = 0; j < size; j++) {
            if (a[j] >= high - i)
                printf("* ");
            else
                printf("  ");
        }
        putchar('\n');
    }
}

static int max_elem(int a[], int size)
{
    int     max;
    int     i;

    for (max = 0, i = 0; i < size; i++)
        if (max < a[i])
            max = a[i];

    return max;
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics