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