这是一道课后题作业,针对菱形的空格我使用了" "的输出方式,应该还有更好的方法?是不是还有格式化字符能直接居中对正?待思考。
代码如下:
#include<stdio.h>int main(){int i, j, k, a;printf("请输入几行菱形:");scanf_s("%d", &k); /*将输入的值存储到k中*/a = (k + 1) / 2; /*计算中间值*/for (i = 1; i <= a; i++){for (j = 1; j <= a - i; j++){printf(" "); /*在空缺位置打印空格*/}for (j = 1; j <= 2 * i - 1; j++){printf("*");}printf("\n");}for (i = k - a; i >= 1; i--){for (j = 1; j <= a - i; j++){printf(" ");}for (j = 1; j <= 2 * i - 1; j++){printf("*");}printf("\n");}return 0;
}
输出如下: