C语言打印各种三角形和菱形(包括星形菱形与空白格菱形)

这篇具有很好参考价值的文章主要介绍了C语言打印各种三角形和菱形(包括星形菱形与空白格菱形)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

多重循环,也称嵌套循环,由一个外层循环和一个或多个内层循环组成。

for循环在C语言基础中占有重要地位,其中最能体现for的多重循环的就是打印各种形状的三角形,进而根据打印各种三角形的规律合并打印出菱形。

首先,我们来打印最简单的几个不同的三角形:

靠右直角三角形:

#include <stdio.h>          
int main(){                 
	int i;                  
	int j;                  
	// 外层循环可以打印出五行
	for(i=1;i<=5;++i){      
	// 内层循环依靠1、2、3、4、5,分别打印出每一行相应数量的星星
	    for(j=1;j<=i;++j){  
	    	printf(" *");   
		}                   
		printf("\n");       
	}                       
	return 0;               
}							

c语言打印三角形星号,C语言,c语言,开发语言

靠左直角三角形:

#include <stdio.h>
int main(){
	int i;
	int j;
	for(i=0;i<=5;i++){
		for(j=5;j>i;j--){
			printf("  ");
		}
		for(j=0;j<=i;j++){
			printf(" *");
		}	
		printf("\n");
	}
	return 0;
} 

 c语言打印三角形星号,C语言,c语言,开发语言

靠左倒直角三角形:

#include <stdio.h>
int main(){
	int i;
	int j;
	for(i=5;i>=1;--i){
		for(j=1;j<=i;++j){
	    	printf(" *");
		}
		printf("\n");
	} 
	return 0;
}

c语言打印三角形星号,C语言,c语言,开发语言

靠右倒直角三角形:

#include <stdio.h>                
int main(){                       
	int i,j;                      
	  for(i=5; i>=1; i--) {                       
		 for(j=1; j<=5-i; j++)    
			printf("  ");      
		 for(j=1; j<=i; j++ )
			printf("* ");   
		printf("\n");       
	}                       
	return 0;               
}                              

c语言打印三角形星号,C语言,c语言,开发语言

等腰三角形:

#include <stdio.h>
int main(){
	int i,j;
	for(i=5;i>=1;--i) {
		for(j=1;j<=i;j++){
			printf(" ");
		}
		for(j=5;j>=i;j--){
			printf("*");
		}
		for(j=5;j>=i+1;j--){
			printf("*");
		}
		
		
	printf("\n");
}
		
	return 0;
}

c语言打印三角形星号,C语言,c语言,开发语言

接下来,就将上面的几个三角形的写法结合起来,可以打印出菱形。

下面是用星形打印的菱形:

#include <stdio.h>
int main(){
		int i,j; 
	for(i=1; i<=5; i++) {
		// 画空格
		for(j=1; j<=5-i; j++)
			printf("  ");
		for(j=1; j<=i; j++)
		// 画字符)
			printf("* ");
		for(j=1;j<=i-1;j++)
			printf("* ");
		printf("\n");
	}
	for(i=4; i>=1; i--) {
		for(j=1; j<=5-i; j++)
			printf("  ");
		for(j=1; j<=i; j++ )
			printf("* ");
		for(j=1;j<=i-1;j++)
			printf("* ");
		printf("\n");
	}
	return 0;
}	

c语言打印三角形星号,C语言,c语言,开发语言

然后下面是我空闲时想到用空格打印出来的空白格菱形。我根据上面的内容的思路打印出来的菱形总有点问题,可以看一下下面这段代码,这是一开始打印出来的,并不是自己满意的菱形:

#include <stdio.h>
int main(){
	int i,j;
	for(i=0;i<5;i++){
		for(j=5;j>i;j--){
			printf(" *");
		}
		for(j=0;j<i;j++){
			printf(" ");
		}
		for(j=0;j<i;j++){
			printf(" ");
		}
		for(j=0;j<i;j++){
			printf(" ");
		}	
		for(j=0;j<i;j++){
			printf(" ");
		}
		for(j=5;j>i;j--){
			printf(" *");
		}
		printf("\n");
	}
	for(i=1;i<=5;i++){
		for(j=0;j<i;j++){
			printf(" *");
		}
		for(j=5;j>i;j--){
			printf(" ");
		}
		for(j=5;j>i;j--){
			printf(" ");
		}
		for(j=5;j>i;j--){
			printf(" ");
		}
		for(j=5;j>i;j--){
			printf(" ");
		}
		for(j=0;j<i;j++){
			printf(" *");
		}
		printf("\n");
	}
} 

c语言打印三角形星号,C语言,c语言,开发语言

 我将各种三角形的打印方法结合起来打印出上面这个图形,上面这个看起来像是菱形,但其实仔细看并不是菱形。

接着做了一下修改,之后第一行和最后一行就多出了一个星号:

#include <stdio.h>
int main(){
	int i,j;
	for(i=0;i<5;i++){
		for(j=5;j>i;j--){
			printf(" *");
		}
		for(j=0;j<i;j++){
			printf("  ");
		}
		for(j=1;j<i;j++){			//有修改 
			printf("  ");
		}
//		for(j=0;j<i;j++){
//			printf(" ");
//		}	
//		for(j=0;j<i;j++){
//			printf(" ");
//		}
		for(j=5;j>i;j--){
			printf(" *");
		}
		printf("\n");
	}
	for(i=2;i<=5;i++){
		for(j=0;j<i;j++){
			printf(" *");
		}
		for(j=5;j>i;j--){
			printf("  ");
		}
//		for(j=5;j>i;j--){
//			printf(" ");
//		}
//		for(j=5;j>i;j--){
//			printf(" ");
//		}
		for(j=4;j>i;j--){			//有修改 
			printf("  ");
		}
		for(j=0;j<i;j++){
			printf(" *");
		}
		printf("\n");
	}
} 

c语言打印三角形星号,C语言,c语言,开发语言

 上面这个看起来中间已经得到我们想要的菱形,但是旁边却挤出来两个星号,还是有瑕疵。

最后就换了一种方式进行打印得到了想要的菱形,但是感觉有点笨。

下面最后的代码请各位参考学习:

#include <stdio.h>
int main(){
	int i,j;
	printf(" * * * * * * * * *\n");
	for(i=1;i<5;i++){				//(i=1)去掉第一行, 
		for(j=5;j>i;j--){
			printf(" *");
		}
		for(j=0;j<i;j++){
			printf("  ");
		}
		for(j=1;j<i;j++){			//******i=0改为i=1(从第二行开始打印) -------理解:上半部分的右边部分整体向左进k两个空格 
			printf("  ");
		}
//		for(j=0;j<i;j++){
//			printf(" ");
//		}	
//		for(j=0;j<i;j++){
//			printf(" ");
//		}
		for(j=5;j>i;j--){
			printf(" *");
		}
		printf("\n");
	}
	for(i=2;i<5;i++){				//去掉(i=5)可以去掉最后一行 ,i=2可以从第二行开始打印(即去掉第一行) 
		for(j=0;j<i;j++){
			printf(" *");
		}
		for(j=5;j>i;j--){
			printf("  ");
		}
//		for(j=5;j>i;j--){
//			printf(" ");
//		}
//		for(j=5;j>i;j--){
//			printf(" ");
//		}
		for(j=4;j>i;j--){			//******(j=4)去掉第一行,从第二行开始打印 --------理解:下半部分的右边部分整体向左进k两个空格 
			printf("  ");
		}
		for(j=0;j<i;j++){
			printf(" *");
		}
		printf("\n");
	
	}
		printf(" * * * * * * * * *");
} 

c语言打印三角形星号,C语言,c语言,开发语言

希望对你有帮助!文章来源地址https://www.toymoban.com/news/detail-756186.html

到了这里,关于C语言打印各种三角形和菱形(包括星形菱形与空白格菱形)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用C语言输出各种三角形

    代码: 代码: 代码: 其实要变化的是第二个for循环,要先打印出空格 代码: 每行*数=行数×2-1

    2024年02月10日
    浏览(38)
  • C语言打印输出星号三角形案例讲解

    我们先看一个星号三角形的例图: 星号三角形的特点如下 以打印输出和例图一模一样的图案为例进行代码编写。  思路分析 1)先打印输出星星前没有空格的星号三角形 。  代码如下: 代码运行结果如下:  2)在原来代码的前提下,加上控制打印输出每一行第一个星星前空

    2024年02月11日
    浏览(54)
  • C语言程序设计:输入一个三角形的三条边长,求出三角形的面积。

    已知三角形的三边长a,b,c,则该三角形的面积公式为:           area=  其中s = (a+b+c)/2

    2024年02月06日
    浏览(61)
  • C语言程序——求三角形面积

    输入三角形的三个边,计算三角形的面积输出(运用海伦公式计算)。 假设输入三角形的三条边是合法的三角形,则可以采用海伦公式计算,公式为: a r e a = s ( s − a ) ( s − b ) ( s − c ) area=sqrt{s(s-a)(s-b)(s-c)} a re a

    2024年02月07日
    浏览(56)
  • 用C语言输出*组成基本的三角形

    本篇主要为练习利用for循环语句输出*图形 注意: 在利用for循环嵌套时,每一个for循环都要运行完成才能跳出内层,进入外层循环。 此时需要加入空格来实现 这里只要注意*和空格输出个数公式即可 更改 i 值所取范围可改变菱形行数 这里采用了1,2题的拼接思路 1.输出矩形阵

    2024年02月08日
    浏览(46)
  • 【C语言每日一题】08. 字符三角形

    题目来源:http://noi.openjudge.cn/ch0101/08 总时间限制: 1000ms 内存限制: 65536kB 给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符三角形。 输入只有一行, 包含一个字符。 该字符构成的等腰三角形,底边长5个字符,高3个字符。

    2024年02月10日
    浏览(42)
  • C语言已知三角形三条边abc,求面积

            输入三角形的三条边a,b,c,利用海伦公式求三角形的面积。海伦公式又称海伦-秦九韶公式,它是利用三角形的三条边的边长直接求三角形面积的公式。表达式为:S=√p(p-a)(p-b)(p-c),它的特点是形式漂亮,便于记忆。 代码如下: 注意:sqrt是数学函数,需要调用数学

    2024年02月05日
    浏览(55)
  • css实现圆角三角形,圆角三角形的实现

    今天给大家带来一个如何实现圆角三角形的方案,这个方案虽然可以实现,但是也是借助拼凑等方式来实现的,假如想一个div来实现圆角三角形,还是比较困难的。之前文章讲了如何实现对话框,里面介绍了三角形的实现方式。今天讲讲如何实现圆角三角形。 想要生成一个带

    2024年02月09日
    浏览(53)
  • 用python写九九乘法表(左上三角、左下三角、右上三角、右下三角、正三角形、倒三角形格式)

    1.左上三角格式:   2.左下三角格式:   3.右上三角格式:     4.右下角格式:     5.倒三角格式:      

    2024年02月11日
    浏览(60)
  • OpenCV项目开发实战-- 将一个三角形变形为另一个三角形 ( C++ / Python )代码实现

     文末附基于Python和C++两种方式实现的测试代码下载链接 图 1:左图中蓝色三角形内的所有像素都已转换为右图中的蓝色三角形。 在本教程中,我们将看到如何将图像中的单个三角形变形为不同图像中的另一个三角形。 在计算机图形学中,人们一直在处理扭曲三角形,因为任

    2024年02月09日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包