c语言等要空心梯形代码,C语言空心菱形 *号打印图形

这篇博客介绍了使用C语言实现各种图形打印的方法,包括空心菱形、Z型、X型、空心等腰梯形、实心等腰梯形、倒三角形、平行四边形、矩形和等腰三角形。通过控制循环和条件判断,巧妙地打印出不同的图形模式,适合初学者练习控制流和逻辑思维。
摘要由CSDN通过智能技术生成

//1.空心菱形

运行结果:

c53462605f10a69790a6f19bf4bfc104.png

代码实现:

int line = 0, m = 0;

printf("请输入行数:\n");

scanf("%d", &line);

m = (line + 1) / 2;

//上半部分

for(int i =1; i <= m; i++) //控制行数

{

for(int k =0; k < m - i; k++)//控制空格数

{

printf(" ");

}

printf("*");

if(i == 1){

printf("\n");//换行

continue;//结束本次部分循环,继续执行下一层循环继续 i++

}

for(int j =0; j < 2 * i - 3 ; j++)

{

printf(" ");

}

printf("*");

printf("\n");

}

//下半部分

for(int i = m -1; i > 0; i--)//控制行数

{

for(int k =0; k < m-i; k++)//控制每行的空格数

{

printf(" ");

}

printf("*");

if(i == 1){

printf("\n");

continue;//结束本次部分循环,继续执行下一层循环继续 i--

}

for(int j =0; j < 2 * i - 3; j++)

{

printf(" ");

}

printf("*");

printf("\n");

}

//2.打印Z型

运行结果:

bf54529c8ada66179cdd853e1fe66714.png

代码实现:

int n = 0;

printf("Please enter n:\n");

scanf("%d", &n);

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

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

if (j == n - i + 1 || i == 1 || i == n) {

printf("*");

}else

printf(" ");

}

printf("\n");

}

//3.打印X型

运行结果:

d46373e216472cc341b8ed53a1952c6a.png

代码实现:

分析:此题与上题的区别在于打印'*'号的位置不同,编程时要找出应打印'*'号的位置和两个循环变量i、j以及行数n的关系

int n = 0;

printf("Please Enter n:\n");

scanf("%d", &n);

for(int i = 1;i <= n;i++){/*输出图形的上半部分(含中心行) */

for(int j = 1;j <= 2 * n - i - 1;j++){

if(j == i){

printf("*");

}else{

printf(" ");

}

}

printf("*\n");

}

for(int i = 1;i < n;i++){/*输出图形的下半部分(不含中心行)*/

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

if(j == n - i){

printf("*");

}else

printf(" ");

}

printf("*\n");

}

4.打印空心等腰梯形

运行结果:

42318111e804f109979fb8a5c2c346b7.png

代码实现:

int n = 0;

printf("Please Enter n:\n");

scanf("%d", &n);

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

for(int j = 1;j <= 2 * n + i - 3;j++){

if(j == n - i + 1 || (j > n - i + 1 && (i == 1 || i == n))){

printf("*");

}else{

printf(" ");

}

}

printf("*\n");

}

5.打印实心等腰梯形

运行结果:

代码实现:

int n = 0;

printf("Please Enter n:\n");

scanf("%d", &n);

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

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

printf(" ");

}

for(int j = 1;j <= 2 * i - 1 + (n - 1);j++){

printf("*");

}

printf("\n");

}

6.输出倒三角形

运行结果:

948eedc62a952b1fde5c01db6b7e6a6d.png

代码实现:

int  n = 0;

printf("Please Enter n:\n");

scanf("%d", &n);

for(int i = 1;i <= n;i++)/*重复输出图形的n行*/

{

for(int j = 1;j <= 2 * n - i;j++)/*重复输出图形一行中的每个符*/

{ if(j <= i-1){

printf(" ");/*输出前面的空格*/

}

else

printf("*");/*输出后面的*号*/

}

printf("\n");

}

//7.打印平行四边形

运行结果:

代码实现:

int  n = 0;

printf("Please Enter n:\n");

scanf("%d", &n);

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

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

printf(" ");

}

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

printf("*");

}

printf("\n");

}

//8.输出矩形

运行结果:

a034b748f543f73e9b71bea9df54c3a2.png

代码实现:

int n = 0;

printf("Please Enter n:\n");

scanf("%d", &n);

for(int i = 1;i <= n;i++) {//打印行数

for(int j = 1;j <= n;j++) {//打印列数

printf("*");

}

printf("\n");

}

//9.打印等腰三角形

运行结果:

75ad2dfede8da36c024e37349b02e308.png

代码实现

int n = 0;

printf("Please Enter n:\n");

scanf("%d", &n);

for (int i = 1; i <= n; i++)//控制输入的行数

{

for (int k = 1; k <= n - i; k++)//控制空格的输入

{

printf(" ");

}

for (int j = 1; j <= 2 * i - 1; j++)//控制*的输入

{

printf("*");

}

printf("\n");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值