循环三角形

什么是循环三角形

如下所示

#include <iostream>
using namespace std;
int main( )
{
   int a[100][100]={0}; //数组元素默认是0
   int n,m;
   cin>>n;   //n是输入的数组大小(行数和列数)

   while(n<0||n>100)  //如果输入的n大于,重新输入
       cin>>n;

   if(n==1)  //如果矩阵大小是1,则输出1
   {    cout<<‘\t‘<<1<<endl;
        return 0;
   }

   m=n/2; //m记录循环三角形的个数

   int i=0,j,k,sum=0;  //sum为矩阵各个位置上对应的数值

   for(k=0;k<m;k++)  //k来控制循环三角形的层次,k=0表示最外层三角形,逐渐...到k=m-1最内层三角形,要从最外层的三角形开始赋值
    { i=k;  //注意每层三角形下标与k的关系

      for(j=k;j<n-2*k;j++)  //三角形的行边赋值
       {
          sum++;
          a[i][j]=sum;
       }

       for(i=k+1;i<n-k;i++)  //三角形的斜边赋值,注意不要把三角形行边最右边的元素再次赋值
            for(j=k;j<n-1-k;j++)
                if(i+j==n-1-k)
                {
                   sum++;
                   a[i][j]=sum;
                }

         for(i=n-2*(k+1);i>=1+k;i--)  //三角形的列边赋值,注意不要将三角形列边最下面和最上面的元素再次赋值
         {  sum++;
            a[i][k]=sum;
         }

    }

  for(i=0;i<n;i++)  //输出循环三角形
  {for(j=0;j<n-i;j++)
          cout<<"\t"<<a[i][j];
    cout<<endl;
   }

    return 0;
}
时间: 2024-10-18 11:42:52

循环三角形的相关文章

for循环三角形代码

等腰三角形代码: public class sanjiaoxing { public static void main(String[] args) { for (int i=0;i<=4;i++){ for(int j=0;j<=3-i;j++){ System.out.print(" "); } for(int j=0;j<=i;j++){ System.out.print(" *"); } System.out.println(); } }

用循环打印出多种三角形

打印一排*,很简单,打印下图 也很简单,代码如下: 1 public class Work10_3 { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 int a=0; 9 while(a<4){ 10 int i=0; 11 while(i<10){ 12 System.out.print("*");

Python中使用循环语句打印三角形、菱形

前言:在学习开发语言循环语句的使用过程中,经常会打印各种形状来验证对循环语句的熟练掌握程度,接下来就使用python来打印多种形状练习. 如下示例中:变量i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制星号(*)的个数 1. 打印三角形  1.1 打印直角三角形 #/usr/bin/python rows = int(raw_input('please input a rows:')) i=j=k=1 if rows >= 3: for i in range(0,rows+1):

使用for循环和while循环打印三角形(附九九乘法表实现)

使用for / while循环输出带*三角形for循环方法: i = 0 for tmp in range(6): print("*"*tmp) while循环方法: i = 0 while i <= 5: print("*"*i) i += 1 效果如下: * ** *** **** ***** 同理我们可以输出九九乘法表: for循环方法: for i in range(1,10): for j in range(1,i+1): print("%

for循环运用,三角形

用for循环打出三角形.倒三角形.金字塔.99乘法表 三角形: 打出如图三角形,分析行数与*个数的关系,用for循环 for(var i=0;i<5;++i){//i表示行数 var str="";//定义str 输出为空 for(var j=0;j<i*2+1;++j){//j表示输出*数,行数与*个数的关系2*i+1 str=str+"*" ;//拼接字符串 } console.log(str); } 当i=0时,输出空,==>  j=0,j&

字符三角形(循环做法)

题目如下: 输入一个字符,输入一个整数表示三角形的行数,将三角形打印出来(详见输出样例) 输入样例:* 3 输入样例: * *** ***** 对!差不多就这样23333333~~~~~~~~~~~~~~~~~~~~~~ 这是在学了循环以后,再次看到字符三角形这道题才有的想法 但是具体咋整我不太会的 然后我就去度娘那找,是有的就借鉴了一下,开心,好棒的blog https://www.cnblogs.com/lovemi93/p/7518824.html #include<iostream>

使用for循环打印矩形和三角形、菱形、空心菱形

打印矩形 **************************************************************************************************** public class Demo3_712 { public static void main(String args[]){ for(int i=1;i<=10;i++){ //控制行 for(int j=1;j<=10;j++){ //控制列 System.out.print(&

java基础之循环应用(打印三角形、菱形)

1-打印等腰三角形 1 public class Dengyao { 2 3 public static void main(String[] args) { 4 for(int i=1;i<=5;i++){//i--控制行 5 for(int j=5-i;j>=0;j--){//j--控制空格的数量 6 System.out.print(" "); 7 } 8 for(int k=1;k<=2*i-1;k++){//k--控制*的数量 9 System.out.pr

打印三角形练习for循环

* //打印直角三角形 for(var i=1;i<6;i++){ for(var j=1;j<=i;j++){ document.write("#"); } document.write("<br/>");} for(var i=1;i<6;i++){ //i: 1 2 3 4 5 for(var j=1;j<6-i;j++){ //j<5;j<4;j<3;j<2;j<1;其实是5个for循环分别对