C语言中如何利用循环嵌套输出一个菱形
作者:听船歌声声慢
这篇文章主要介绍了C语言中如何利用循环嵌套输出一个菱形问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
利用循环嵌套输出一个菱形
#include<stdio.h> int main() { int i, j; for (i = 1; i <= 4; i++)//上三角控制行 { for (j = 1; j <= 4 - i; j++)//上三角控制每行空格 printf(" "); for (j = 1; j <= 1 + 2 * (i - 1); j++)//上三角控制每行* printf("*"); printf("\n"); } for (i = 3; i >= 1; i--)//下三角控制行 { for (j = 1; j <= 4 - i; j++)//下三角控制每行空格 printf(" "); for (j = 1; j <= 1 + 2 * (i - 1); j++)//下三角控制每行* printf("*"); printf("\n"); } return 0; }
C语言输出半个菱形
1.在屏幕上输出以下图案:
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***
*
分析:
看到这个图形我们就想到这是菱形的一半,但是又跟菱形的输出方法不太一样,在此无需考虑空格的问题,只需要每行按循环输出*即可;
- 1~7行,*逐渐递增;
- 8~13行,*逐渐递减;
- 第7行是一个分界线
我们可以定义两个变量,一个控制行数,一个控制 * 的个数
核心代码
#include <stdio.h>yunxingjieguo int main() { int i, j; for (i = 1; i <=7; i++)//上半部分 { for (j = 1; j <= (2 * i -1); j++) { printf("*"); } printf("\n"); } for (i = 6; i >0; i--)//下半部分 { for (j = (i * 2 - 1); j >0; j--) { printf("*"); } printf("\n"); } system("pause"); return 0; }
运行结果
总结
该程序主要是循环嵌套的使用,这个图形的编程无需考虑空格的问题,直接输出*就可;但是如果是一般的菱形,我们就要定义一个变量控制空格和*的输出了
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。