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;
}运行结果

总结
该程序主要是循环嵌套的使用,这个图形的编程无需考虑空格的问题,直接输出*就可;但是如果是一般的菱形,我们就要定义一个变量控制空格和*的输出了
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
