c语言编程练习题:7-59 打印菱形图案

简介: c语言编程练习题:7-59 打印菱形图案

#include <stdio.h>

#include <math.h>

int main() {

   int n;

   if (scanf("%d", &n) != 1 || n <= 0 || n % 2 == 0) {

       printf("input error");

       return 0;

   }

   int mid = (n + 1) / 2;  // 菱形的中心行号

   for (int i = 1; i <= n; i++) {

       int spaces = fabs(mid - i);  // 打印空格的数量

       int stars = n - 2 * spaces;  // 打印星号的数量

       for (int j = 0; j < spaces; j++) {

           printf("  ");

       }

       for (int j = 0; j < stars; j++) {

           printf("* ");

       }

       printf("\n");

   }

   return 0;

}

目录
相关文章
|
2天前
|
存储 Serverless C语言
每天一道C语言编程(结构体的运用):这是一年的第几天?
每天一道C语言编程(结构体的运用):这是一年的第几天?
7 0
|
2天前
|
C语言
每天一道C语言编程(递归:斐波那契数,母牛的故事)
每天一道C语言编程(递归:斐波那契数,母牛的故事)
5 0
|
2天前
|
C语言
每天一道C语言编程(2^k进制数)
每天一道C语言编程(2^k进制数)
6 0
|
2天前
|
C语言
每天一道C语言编程(数组操作)
每天一道C语言编程(数组操作)
6 0
|
2天前
|
C语言
每天一道C语言编程(数字转字母,字母转数字)
每天一道C语言编程(数字转字母,字母转数字)
5 0
|
2天前
|
C语言
C语言:内存函数(memcpy memmove memset memcmp使用)
C语言:内存函数(memcpy memmove memset memcmp使用)
|
1天前
|
C语言
C语言—内存函数的实现和模拟实现(内存函数的丝绸之路)
C语言—内存函数的实现和模拟实现(内存函数的丝绸之路)
17 0
|
1天前
|
C语言
C语言—字符函数与字符串函数(字符问题变简单的关键之技)
C语言—字符函数与字符串函数(字符问题变简单的关键之技)
4 0
|
1天前
|
C语言
C语言——函数递归
C语言——函数递归
4 0
|
1天前
|
C语言
C语言—函数(大化小方式的心脏)
C语言—函数(大化小方式的心脏)
2 0