C语言循环输出图形(一)

本文介绍了如何使用C语言编程实现打印线段、正方形、直角三角形、翻转直角三角形、带空格的直角三角形以及金字塔图案的练习,通过循环结构控制星号(*)的输出。
摘要由CSDN通过智能技术生成

1.线段图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的线段图案。

输入描述:

多组输入,一个整数(1~100),表示线段长度,即“*”的数量。

输出描述:

针对每行输入,输出占一行,用“*”组成的对应长度的线段。

示例1

输入:

10
2

输出:

**********
**
int main()
{
	int n = 0;
	while (scanf("%d", &n) != EOF)
	{
		int i = 0;
		for (i = 0; i < n; i++)
		{
			printf("%c",'*');
		}
		printf("\n");
	}
	return 0;
}

2.正方形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的正方形图案。

输入描述:

多组输入,一个整数(1~20),表示正方形的长度,也表示输出行数。

输出描述:

针对每行输入,输出用“*”组成的对应边长的正方形,每个“*”后面有一个空格。

示例1

输入:

4

输出:

* * * *
* * * *
* * * *
* * * *

int main()
{
	int n = 0;
	while (scanf("%d", &n) != EOF)
	{
		//定义行
		int i = 0;
		for (i = 0; i < n; i++)
		{
			//定义列
			int j = 0;
			for (j = 0; j < n; j++)
			{
				printf("%c ", '*');
			}
			printf("\n");
		}
	}
	return 0;
}

3.直角三角形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的直角三角形图案。

输入描述:

多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。

输出描述:

针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。

示例1

输入:

4

输出:

*
* *
* * *
* * * *
int main()
{
	int n = 0;
	while (scanf("%d", &n)!=EOF)
	{
		int i = 0;
		for (i = 0; i < n; i++)
		{
			int j = 0;
			for (j = 0; j <= i; j++)
			{
				printf("%c ", '*');
			}
			printf("\n");
		}
	}
	return 0;
}

4.翻转直角三角形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转直角三角形图案。

输入描述:

多组输入,一个整数(2~20),表示翻转直角三角形直角边的长度,即“*”的数量,也表示输出行数。

输出描述:

针对每行输入,输出用“*”组成的对应长度的翻转直角三角形,每个“*”后面有一个空格。

示例1

输入:

5

输出:

* * * * *
* * * *
* * *
* *
*
int main()
{
	int n = 0;
	while (scanf("%d", &n) != EOF)
	{
		int i = 0;
		for (i = n; i>0; i--)
		{
			int j = 0;
			for (j = 0; j < i; j++)
			{
				printf("%c ", '*');
			}
			printf("\n");
		}
	}
	return 0;
}

 5. 带空格直角三角形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的带空格直角三角形图案。

输入描述:

多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。

输出描述:

针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。

示例1

输入:

5

输出:

        * 
      * * 
    * * * 
  * * * * 
* * * * *
int main()
{
	int n;
	while (scanf("%d", &n) != EOF)
	{
		int j = 0;
		int i = 0;
		int m = 0;
		m = n;
		for (j = 0; j < n; j++)
		{
			for (i = 1; i < m; i++)
			{
				printf("  ");
			}
			int k = 0;
			for (k = 0; k <= j; k++)
			{
				printf("%c ", '*');
			}
			printf("\n");
			m--;
		}
	}
	return 0;
}

6.金字塔图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的金字塔图案。

输入描述:

多组输入,一个整数(2~20),表示金字塔边的长度,即“*”的数量,,也表示输出行数。

输出描述:

针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。

示例1

输入:

4

输出:

   * 
  * * 
 * * * 
* * * * 
//这个其实就是上面的代码把打印2个空格那减少一个空格就可以了
int main()
{
	int n;
	while (scanf("%d", &n) != EOF)
	{
		int j = 0;
		int i = 0;
		int m = 0;
		m = n;
		for (j = 0; j < n; j++)
		{
			for (i = 1; i < m; i++)
			{
				printf(" ");
			}
			int k = 0;
			for (k = 0; k <= j; k++)
			{
				printf("%c ", '*');
			}
			printf("\n");
			m--;
		}
	}
	return 0;
}

7.翻转金字塔图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的翻转金字塔图案。

输入描述:

多组输入,一个整数(2~20),表示翻转金字塔边的长度,即“*”的数量,也表示输出行数。

输出描述:

针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。

示例1

输入:

5

输出:

* * * * * 
 * * * * 
  * * * 
   * * 
    * 
#include <stdio.h>
int main() {
    int n = 0;
    while (scanf("%d", &n) != EOF) {
        int m = 0;
        m = n;
        //一行一行的打印
        int i = 0;
        for (i = 0; i < n; i++) {
            int j = 0;
            int k = 0;
            for (k = n; k > m; k--) {
                printf(" ");
            }
            for (j = 0; j < k; j++) {
                printf("%c ", '*');
            }
            printf("\n");
            m--;
        }
    }
    return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值