两次for循环嵌套,就能搞定
[ 本帖最后由 sac精灵 于 2012-6-5 17:59 编辑 ]
[ 本帖最后由 sac精灵 于 2012-6-5 17:59 编辑 ]
#include<stdio.h> #include<stdlib.h> //vc vs2008下编译通过,输入行数,打印相关图形 void printf_star(int line) { int i = 1; int count_star; // 每行需要输出多少星号,这个规律很好找到 int count; // 每行开头需要输出空格,这个规律同样很容易找到 int j = 0; while (i<=line) { count = 2*(line-i); count_star = 2*i - 1; for (j=0; j<count; j++) { printf(" "); //每行开头输出count个空格 } for (j=0; j<count_star; j++) { printf("* "); //每行输出count_star个星号,这里星号后面还有个空格,注意 不然你的星号都挤在一起了 不好看 } printf("\n"); i++; } } void main() { printf_star(5); }