发布网友 发布时间:2022-04-23 17:54
共5个回答
热心网友 时间:2023-10-11 21:43
#include <stdio.h> void Lozenge0(int n,char ch) { // 空心菱形 int i,j; for(i = 0;i < n; ++i) { // 上半部分 for(j = 0;j <= n - i; ++j) printf(" "); // 输出每行前导空格 printf("%c",ch); for(j = 0; j < 2 * i - 1; ++j) printf(" "); // 菱形内部空格 if(i) printf("%c",ch); printf("\n"); } for(i = n - 2;i >= 0; --i) { // 下半部分 for(j = 0;j <= n - i; ++j) printf(" "); // 输出每行前导空格 printf("%c",ch); for(j = 0; j < 2 * i - 1; ++j) printf(" "); // 菱形内部空格 if(i) printf("%c",ch); printf("\n"); }} int diffabs(int a,int b) { // 返回a,b差值的绝对值,即|a - b| return (a > b) ? (a - b) : (b - a);} void Lozenge(unsigned int n,char c) { unsigned int i,j,m; for(i = 0;i < n;i++) { m = diffabs(n/2,i); for(j = 0;j <= m;j++) printf(" "); // 输出每行前导空格 for(j = 0;j < (n + 1)/2 - m;j++) printf("%c ",c); printf("\n"); }} int main() { int n = 10; char ch = '*'; Lozenge0(n,ch); Lozenge(n,ch); return 0;}
热心网友 时间:2023-10-11 21:43
1、首先,输入预处理指令#include <stdio.h>与函数原型void print(int n)。其中,n表示行数。
2、然后,对输入的n进行提前判断,若小于0或为偶数,则结束打印。
3、接着对上半个菱形进行输出(包括最长的行)。使用两层循环进行输出,分别控制行数与行内的位置。
4、接着对下半个菱形进行输出(包括最长的行)。也使用两层循环进行输出,分别控制行数与行内的位置。
5、对n=5与n=7进行输出测试。
6、得到最后结果。
热心网友 时间:2023-10-11 21:44
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。
所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。所以,我们程序员的基础必须打扎实,才能够有更高的发展!
热心网友 时间:2023-10-11 21:44
先找规律
每行空格的个数
*的个数
然后循环打印
比如菱形
如果高度为n
那么 每行空格的个数依次为n-1 n-2 ... 0
*个数为1 3 5 7 ... 2*n+1
打印上半部之后 再同理打印下半部。
而空心菱形,则是多一步计算,中间的空格数。稍复杂一点点而已
热心网友 时间:2023-10-11 21:45
程序简易流程图如下:incl... 博文 来自: Rivival_S 的博客 打印几何图形打印平面几何图形可根据和线性公式