C语言实例(六)创建各类三角形

40.使用*号创建直角三角形图案

(1)代码

#if 0 
#include <stdio.h>
#include <windows.h>
int main()
{
	int i, j, rows;
 
	printf("行数: ");
	scanf("%d",&rows);
 
	for(i=1; i<=rows; ++i)
	{
		//行数决定了每行有几个*,所以j<=i
		for(j=1; j<=i; ++j)
		{
			printf("* ");
		}
		printf("\n");
	}
	system("pause");
	return 0;
}
#endif

(2)运行结果

在这里插入图片描述

41.使用不同数字创建直角三角形图案

(1)代码

//41.使用不同数字创建直角三角形图案
#if 1 
#include <stdio.h>
#include <windows.h>
#define _CRT_SECURE_NO_WARNINGS 0

int main()
{
	int i, j, rows;
	printf("行数: ");
	scanf("%d",&rows);
 
	for(i=1; i<=rows; ++i)
	{
		//行数决定了每行有几个数字,所以j<=i
		for(j=1; j<=i; ++j)
		{
			//j决定的每行输出的数据是多少
			printf("%d ",j);
		}
		printf("\n");
	}
	system("pause");
	return 0;
}
#endif

(2)运行结果

在这里插入图片描述

42.每行使用相同的字母,不同行使用不同字母,来创建直角三角形图案

(1)代码

#if 0 
#include <stdio.h>
#include <windows.h>
int main()
{
	int i, j;
	char input, alphabet = 'A';
 
	printf("输入大写字母: ");
	//input决定了在哪个字母结束
	scanf("%c",&input);
 
	//input-'A'+1 (输入字母到A之间的字母的个数,比如C到A是3)
	for(i=1; i <= (input-'A'+1); ++i)
	{
		//j决定了每行输入几个字母
		for(j=1;j<=i;++j)
		{
			//每行输出的字母
			printf("%c ", alphabet);
		}
		++alphabet;
		//每行输出完成后,换行
		printf("\n");
	}
	system("pause");
	return 0;
}
#endif

(2)运行结果

在这里插入图片描述

43.用*号创建倒直角三角形

(1)代码

#if 0 
#include <stdio.h>
#include <windows.h>
int main()
{
	int i, j, rows;
 
	printf("行数: ");
	scanf("%d",&rows);
 
	for(i=rows; i>=1; --i)
	{
		for(j=1; j<=i; ++j)
		{
			printf("* ");
		}
		printf("\n");
	}
	system("pause");
	return 0;
}
#endif

(2)运行结果

在这里插入图片描述

44.用不同数字创建倒直角三角形

(1)代码

#if 1 
#include <stdio.h>
#include <windows.h>
int main()
{
	int i, j, rows;
 
	printf("行数: ");
	scanf("%d",&rows);
 
	for(i=rows; i>=1; --i)
	{
		for(j=1; j<=i; ++j)
		{
			printf("%d ",j);
		}
		printf("\n");
	}
	system("pause");
	return 0;
}
#endif

(2)运行结果

在这里插入图片描述

45.号创建金字塔(由空格数和组成)

(1)代码

#if 0 
#include <stdio.h>
#include <windows.h>
int main()
{
	int i, space, rows, k=0;
 
    printf("输入行数: ");
    scanf("%d",&rows);
 
    for(i=1; i<=rows; ++i, k=0)
	{
		//rows-i-1这里减1,就是图形整体右移了一个空格
		for(space=1; space<=rows-i; ++space)//for(space=0; space<=rows-i-1; ++space)
		{
			printf(" ");
        }
		while(k != 2*i-1)
		{
			printf("*");
            ++k;
        }
	printf("\n");
    }
	system("pause");
	return 0;
}
#endif

(2)运行结果

在这里插入图片描述

46.不同数字创建金字塔

(1)代码

#if 0 
#include <stdio.h>
#include <windows.h>
int main()
{
	int i, space, rows, k=0, count = 0, count1 = 0;
 
	printf("行数: ");
    scanf("%d",&rows);
 
    for(i=1; i<=rows; ++i)
	{
		for(space=1; space <= rows-i; ++space)
		{
			printf("  ");
			++count;
		}
		while(k != 2*i-1)
		{
			if (count <= rows-1)
			{
				printf("%d ", i+k);
				++count;
			}
			else
			{
				++count1;
				printf("%d ", (i+k-2*count1));
			}
			++k;
		}
		count1 = count = k = 0;
 
		printf("\n");
	}
	system("pause");
	return 0;
}
#endif

(2)运行结果

在这里插入图片描述

47.*号实现倒金字塔

(1)代码

#if 0 
#include<stdio.h>
#include <windows.h>
int main()
{
	int rows, i, j, space;
 
    printf("行数: ");
    scanf("%d",&rows);
 
    for(i=rows; i>=1; --i)
	{
		//空格数(左边输出多少个空格)
		for(space=0; space < rows-i; ++space)
		printf("  ");
 
		//左半边(输出多少个*)
		for(j=i; j <= 2*i-1; ++j)
			printf("* ");
		//右半边(输出多少个*)
        for(j=0; j < i-1; ++j)
			printf("* ");
 
        printf("\n");
    }
	system("pause");
	return 0;
}
#endif

(2)运行结果

在这里插入图片描述

48.杨辉三角

(1)代码

#if 0 
#include <stdio.h>
#include <windows.h>
int main()
{
	int rows, coef = 1, space, i, j;
 
    printf("行数: ");
    scanf("%d",&rows);
	
	//行数
    for(i=0; i<rows; i++)
	{
		//每行前面的空格数
		for(space=1; space <= rows-i; space++)
		printf("  ");
		

		for(j=0; j <= i; j++)
		{
			if (j==0 || i==0)
				coef = 1;
			else
				coef = coef*(i-j+1)/j;
 
			printf("%4d", coef);
		}
		printf("\n");
	}
	system("pause");
	return 0;
}
#endif

(2)运行结果

在这里插入图片描述

49.弗洛伊德三角形

(1)代码

#if 0 
#include <stdio.h>
#include <windows.h>
#define N 10 
int main()
{
	int i;
	int j; 
	for(i=1,j=1;i<=N;i++)
	{
		for(int l=1;l<=i;l++,j++)
			printf("%5d",j); 
		printf("\n");
	}
	system("pause");
	return 0;	
}	
#endif

(2)运行结果

在这里插入图片描述

  • 9
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值