用*号组合成一个三角形

2024-03-20 22:18
文章标签 三角形 组合成

本文主要是介绍用*号组合成一个三角形,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

编程爱好者上的题目,一个一个收集,同样的题目做成这样太厉害了

用*号组合成一个三角形!行数由键盘输入(范围为:1~20,输入超过范围,则提示出错)。如:
输入一个数4,则:
输出以下组合:
     *
    ***
   *****
  *******
共四行

如输入的是6,则:
       *
      ***
     *****
    *******
   *********
  ***********
共六行
如输入的是0,则输出
out of range(1~20),please retype:

1
#include 
< stdio.h >
int  main()
{
  
int i,j,n;
  printf(
"Please enter the number of col(1~20): ");
  
while(1)
  
{
     scanf(
"%d",&n);
     
if(1<=n&&n<=20break;
     
else 
       printf(
"out of range(1~20),please retype: ");     
   }

  
for(i=0;i<n;i++)
  
{
     
for(j=i;j<n-1;j++) printf(" ");
     
for(j=0;j<2*i+1;j++) printf("*");
     printf(
" ");
  }

  
return 0;
}



2
#define  _ "****************************************"
#define  o_o sizeof(_)-1
main(o,n)
{printf("%*s ",o_o+o/2,_+o_o-o,o==1&&scanf("%d",&n)),++o<2*n?main(o+1,n):main(1,n);}

用TC编译

#include 
< stdio.h >

extern   const   char  _[] = " **************************************** " ;
const   int  o_o  =   sizeof (_) - 1 ;

void  f( int  o,  int  n)  {
  
if (o==1) scanf("%d",&n);
  printf(
"%*s ",o_o+o/2,_+o_o-o);
  
++o<2*n?f(o+1,n):f(1,n);
}


int  main( int  argc)  {
  f(argc,
0);
  
return 0;
}



3
#include 
< iostream >

using   namespace  std;

const   char  A[]  =   "                                         "
                 
" *************************************** " ;

或 
const   char  A[]  =   "                                        *************************************** " ;


int  main()
{
    
int n = 0;
    cin 
>> n;
    
for (int i = 0; i < n; ++i) {
        cout.write(A 
+ 40 - n + i, n + i) << endl;
    }

}
4
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#define MAX 20
#define MIN 1

void fun(int i, int n);
int getnum(int lim);

main()
{
    int i;
    while((i = getnum(MAX)) != -1)
        if(i)
            fun(i, i);
}

int getnum(int lim)
{
    char c[MAX];
    int i, j;
    for(i = 0 ; isspace(c[i] = getchar()); )
        ;
    if( !isdigit(c[i]))
        if(c[i] == EOF)
            return -1;
        else{
            printf("please enter a number!/n");
            return 0;
        }
    for( ; --lim && isdigit(c[++i] = getchar()); )
        ;
    c[i] = '/0';
    if( (j = atoi(c)) <= MAX && j >= MIN)
        return j;
    else{
        printf("out of range: %d - %d/n",MIN,MAX);
        return 0;
    }
}

void fun(int i, int n)
{
    int j;
    for( j = i - 1; j > 0 ; j--)
        putchar(' ');
    for( ; j < 2 * (n - i) + 1 ; j++)
        putchar('*');
    putchar('/n');
    if(--i)
        fun(i,n);
}

5
/*Odd Asterisks*/
#include<stdio.h>
#include<conio.h>

int main(void)
{
    int i,j,k,n,flag=1; /*flag是控制循环的变量*/
    char ch;

    while(flag)
 {
        printf("/nContinue? (Y/N)/n");
        ch=getch();

        if(ch=='N'||ch=='n')
  {                /*输入'n' 或者 'N'则退出循环*/
            printf("/nBye!/n");
            getch();
            flag=0;
        }
        else if(ch=='Y'||ch=='y')
  {    /*输入'y'或者'Y'则重复进行下面的操作*/
            printf("/nInput the number of lines: /n");
            scanf("%d",&n);
            if(n>20)
   {               /*判断n是否大于20,大于20则提示重新输入*/
                printf("/nError input. Please make sure the number you entered");
                printf(" is no bigger than 20. Press any key to enter again./n");
                getch();
            }
            else
   {
                for(i=0;i<n;i++)
    {         /*控制行的输出*/

                    for(j=n;j>i;j--)      /*控制星号前空格的输出*/
                        printf(" ");
                    for(j=0;j<=i;j++)    /*控制一左边一半星号的输出*/
                        printf("*");
                    for(k=0;k<i;k++)     /*控制一右边一半星号的输出*/
                        printf("*");

                    printf("/n");
                }
            }
        }
        else
  {             /*输入'n'、'N'、'y'、'Y'之外的键则提示重新输入*/
            printf("/nError input! Press any key to input again, please./n");
            getch();
        }
    }
    return 0;
}

 

这篇关于用*号组合成一个三角形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/830899

相关文章

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

CSS实现DIV三角形

本文内容收集来自网络 #triangle-up {width: 0;height: 0;border-left: 50px solid transparent;border-right: 50px solid transparent;border-bottom: 100px solid red;} #triangle-down {width: 0;height: 0;bor

双指针(5)_单调性_有效三角形的个数

个人主页:C++忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C++忠实粉丝 原创 双指针(5)_单调性_有效三角形的个数 收录于专栏【经典算法练习】 本专栏旨在分享学习C++的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 题目链接: 2.题目描述 : 3.解法 :     解法一(暴力枚举) :     算法思路 :     代码展示 : 暴力枚

利用向量积(叉积)计算三角形的面积和多边形的面积(hdu2036)

开始撸计算几何题目了。。。。。。。 预备知识:叉乘求多边形面积 参考证明资料: 公式证明: http://www.cnblogs.com/xiexinxinlove/p/3708147.html 高中知识: http://wenku.baidu.com/view/867e6edfad51f01dc281f11a.html #include<stdio.h>#inclu

拼接三角形

/********************************************************************************* 问题描述: 牛牛手里有N根木棒,分别编号为1~N,现在他从N根里想取出三根木棒,使得三根木棒构成一个三角形,你能计算出牛牛有多少种取法吗?(考虑两种取法中使用的木棒编号有一个不一样就认为是不同的取法)。  输入描述: 首先输

OpenGL/GLUT实践:实现反弹运动的三角形动画与键盘控制(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 运行效果2 实验过程2.1 环境配置2.2 绘制三角形2.2.1 渲染函数2.2.2 主函数2.2.3 运行结果 2.3 调整窗口大小2.4 简单动画与按键控制2.4.1 简单旋转2.4.2 键盘控制 2.5 窗口反弹动画2.5.1 处理窗口大小变化2.5.2 渲染函数2.5.3 定时器2.5.4 控制速度

CSS详解:绘制三角形过程

前言 本文旨在用最简单的方式展示CSS border绘制三角形的各种方法,虽然用css 绘制三角形已经不是什么新鲜事了,不过,这篇文章将会尽力展示最全的三角形各种绘制方式。 附送一个三角形在线生成器 原理-盒子模型 如上图,这是一个盒子模型的结构,分为四个区域,content、padding、border, margin 。而本次示例主要用到的是盒子模型中的content和

★ 算法OJ题 ★ 力扣611 - 有效三角形的个数

Ciallo~(∠・ω< )⌒☆ ~ 今天,椎名日和将和大家一起做一道双指针算法题--有效三角形的个数~ 目录 一  题目 二  算法解析 三  编写算法 一  题目 二  算法解析 给三个数,判断是否能构成三角形的条件:两个较小的数相加大于第三个数。 解法⼀:暴力求解 算法思路:三层 for 循环枚举出所有的三元组,并且判断是否能构成三⻆形。(会超时)

MATLAB 计算三角形的外接圆心和半径(84)

MATLAB 计算三角形的外接圆心和半径(84) 一、算法介绍二、算法实现1.代码 一、算法介绍 计算三角形的外接圆心和半径,可视化显示结果 二、算法实现 1.代码 % 设置三个点的坐标A = [1, 1];B = [4,

有效三角形个数问题

目录 一·题目简述: 二·思路总结: 2·1不被认可的暴力破解思路: 2·2优化后的思路: 2·2·1优化后的判断三角形方法: 2·2·2 定一动二指针朝内筛选遍历:  三·解答代码: 一·题目简述: leetcode链接:. - 力扣(LeetCode)  二·思路总结: 2·1不被认可的暴力破解思路: 想必大家看到这道题首先一定想的就是三次循环嵌套,然后