- #include <stdio.h>
- #include <math.h>
- //我要用abs函数;
- int main(int argc, const char * argv[]) {
- int row = 0;
- printf("请输入想要打印的行数:");
- // 由于输出的时菱形,所以行数恰好等于最多行的*个数;
- scanf("%d",&row);
-
-
- for(int i = 1;i<=row;i++) // 外循环,确定当前打印第几行
- {
- for(int j=0;j<abs((row+1)/2,i);j++) // 这个循环用于打印前面的空白; 当前行空白的个数与当前行的关系是abs((row+1)/2,i)
- {
- printf(" ");
- }
- int starCount =((row+1)/2-abs((row+1)/2,i))*2-1; // 当前行*的个数与行的关系是((row+1)/2-abs((row+1)/2,i))*2-1
- for(int m = 0;m <starCount;m++) // 这个循环用于打印后面的*;
- {
- printf("*");
- }
- printf("\n");
- }
- return 0;
-
- }
复制代码
有好方法,一定教我啊... |