双重循环的应用实例--直角三角形相关

(1)上直角三角形

问题描述:用双重循环实现以下图形的输出

    M
    MM
    MMM
    MMMM
    MMMMM
    MMMMMM
    MMMMMMM
    MMMMMMMM
    MMMMMMMMM
    MMMMMMMMMM

程序代码如下:

 

/*   
 * Copyright (c) 2012, 烟台大学计算机学院    
 * All rights reserved.    
 * 作    者:郭艳燕  
 * 专业班级:软件工程
 * 完成日期:2012 年 11 月6 日    
 * 版 本 号:v1.0    
 * 输入描述:无   
 * 问题描述:上直角三角形
 * 程序输出:
             M
             MM
			 MMM
			 MMMM
			 MMMMM
			 MMMMMM
			 MMMMMMM
			 MMMMMMMM
			 MMMMMMMMM
			 MMMMMMMMMM
 * 问题分析:第i行输出i个M  (i=1...10)
 * 算法设计:用双重循环进行控制,外循环控制行,内循环控制列(每行输出的字符个数)   
 */  
#include <iostream>
using namespace std;
int main()
{
  int i; //外层循环控制变量
  int j; //内层循环控制变量
  for(i=1;i<=10;i++) //外层循环
  {
     for(j=1;j<=i;j++) //内层循环
	 {
	   cout<<'M';
	 }
     cout<<endl;
  }
  return 0;
}


 

 

(2)下直角三角形

问题描述:用双重循环实现以下图的输出

    MMMMMMMMMM
    MMMMMMMMM
    MMMMMMMM
    MMMMMMM
    MMMMMM
    MMMMM
    MMMM
    MMM
    MM
    M

程序代码如下:

/*   
 * Copyright (c) 2012, 烟台大学计算机学院    
 * All rights reserved.    
 * 作    者:郭艳燕  
 * 专业班级:软件工程
 * 完成日期:2012 年 11 月6 日    
 * 版 本 号:v1.0    
 * 输入描述:无   
 * 问题描述:下直角三角形
 * 程序输出:
             MMMMMMMMMM
             MMMMMMMMM
			 MMMMMMMM
			 MMMMMMM
			 MMMMMM
			 MMMMM
			 MMMM
			 MMM
			 MM
			 M
 * 问题分析:第i行输出11-i个M  (i=1...10)
 * 算法设计:用双重循环进行控制,外循环控制行,内循环控制列(每行输出的字符个数)   
 */  
#include <iostream>
using namespace std;
int main()
{
  int i; //外层循环控制变量
  int j; //内层循环控制变量
  for(i=1;i<=10;i++) //外层循环
  {
     for(j=1;j<=11-i;j++) //内层循环
	 {
	   cout<<'M';
	 }
     cout<<endl;
  }
  return 0;
}


 


(3)上下直角三角形

问题描述:用双重循环实现以下图形的输出

    M
    MM
    MMM
    MMMM
    MMMMM
    MMMMMM
    MMMMMMM
    MMMMMMMM
    MMMMMMMMM
    MMMMMMMMMM
    MMMMMMMMM
    MMMMMMMM
    MMMMMMM
    MMMMMM
    MMMMM
    MMMM
    MMM
    MM
    M

   

程序代码如下:


/*    
 * Copyright (c) 2012, 烟台大学计算机学院     
 * All rights reserved.     
 * 作    者:郭艳燕   
 * 专业班级:软件工程 
 * 完成日期:2012 年 11 月6 日     
 * 版 本 号:v1.0     
 * 输入描述:无    
 * 问题描述:上下直角三角形 
 * 程序输出: 
             M 
             MM 
             MMM 
             MMMM 
             MMMMM 
             MMMMMM 
             MMMMMMM 
             MMMMMMMM 
             MMMMMMMMM 
             MMMMMMMMMM 
             MMMMMMMMM 
             MMMMMMMM 
             MMMMMMM 
             MMMMMM 
             MMMMM 
             MMMM 
             MMM 
             MM 
             M 
 * 问题分析:上三角形,第i行输出i个M  (i=1...10) 
             下三角形,第i行输出11-i个M  (i=1...9) 
 * 算法设计:用双重循环进行控制,外循环控制行,内循环控制列(每行输出的字符个数)    
 */    
#include <iostream>  
using namespace std;  
int main()  
{  
  int i; //外层循环控制变量  
  int j; //内层循环控制变量  
  //上直三角形
  for(i=1;i<=10;i++) //外层循环  
  {  
     for(j=1;j<=i;j++) //内层循环  
     {  
       cout<<'M';  
     }  
     cout<<endl;  
  }  
  //下直三角形
  for(i=1;i<=9;i++) //外层循环  
  {  
     for(j=1;j<=10-i;j++) //内层循环  
     {  
       cout<<'M';  
     }  
     cout<<endl;  
  }  
  return 0;  
}  

(4)

上反直角三角形

问题描述:用双重循环实现以下图形的输出

                             M
                           MM
                        MMM
                     MMMM
                  MMMMM
               MMMMMM
            MMMMMMM
         MMMMMMMM
      MMMMMMMMM
   MMMMMMMMMM

   

程序代码如下:

/*    
 * Copyright (c) 2012, 烟台大学计算机学院     
 * All rights reserved.     
 * 作    者:郭艳燕   
 * 专业班级:软件工程 
 * 完成日期:2012 年 11 月7 日     
 * 版 本 号:v1.0     
 * 输入描述:无    
 * 问题描述:上反直角三角形 
 * 程序输出: 
            M
           MM
		  MMM
		 MMMM
		MMMMM
	   MMMMMM
	  MMMMMMM
	 MMMMMMMM
	MMMMMMMMM
   MMMMMMMMMM

 * 问题分析:第i行先输出10-i个空格,再输出i个M  (i=1...10) 
             
 * 算法设计:用双重循环进行控制,外循环控制行,内循环控制列(每行输出的字符个数)    
 */    
#include <iostream>  
using namespace std;  
int main()  
{  
  int i; //外层循环控制变量  
  int j; //内层循环控制变量,控制每行M的个数
  int k; //内层循环控制变量,控制每行空格的个数
  //上反直三角形
  for(i=1;i<=10;i++) //外层循环  
  {  
     for(k=1;k<=10-i;k++) //内层循环,控制每行的空格数
	 {
	   cout<<' '; 
	 }
	 for(j=1;j<=i;j++) //内层循环,控制每行的M的个数
     {  
       cout<<'M';  
     }  
     cout<<endl;  
  }  
   return 0;  
}  




(5)下反直角三角形

问题描述:用双重循环实现以下图形的输出

 

 MMMMMMMMMM
    MMMMMMMMM
       MMMMMMMM
          MMMMMMM
             MMMMMM
                MMMMM
                   MMMM
                      MMM
                         MM
                           M

程序代码如下:

/*    
 * Copyright (c) 2012, 烟台大学计算机学院     
 * All rights reserved.     
 * 作    者:郭艳燕   
 * 专业班级:软件工程 
 * 完成日期:2012 年 11 月7 日     
 * 版 本 号:v1.0     
 * 输入描述:无    
 * 问题描述:下反直角三角形 
 * 程序输出: 
    MMMMMMMMMM
     MMMMMMMMM
	  MMMMMMMM
	   MMMMMMM
	    MMMMMM
		 MMMMM
		  MMMM
		   MMM
		    MM
			 M

 * 问题分析:第i行先输出i-1个空格,再输出11-i个M  (i=1...10) 
             
 * 算法设计:用双重循环进行控制,外循环控制行,内循环控制列(每行输出的字符个数)    
 */    
#include <iostream>  
using namespace std;  
int main()  
{  
  int i; //外层循环控制变量  
  int j; //内层循环控制变量,控制每行M的个数
  int k; //内层循环控制变量,控制每行空格的个数
  //下反直三角形
  for(i=1;i<=10;i++) //外层循环  
  {  
     for(k=1;k<=i-1;k++) //内层循环,控制每行的空格数
	 {
	   cout<<' '; 
	 }
	 for(j=1;j<=11-i;j++) //内层循环,控制每行的M的个数
     {  
       cout<<'M';  
     }  
     cout<<endl;  
  }  
   return 0;  
}  




(6)上下反直角三角形

问题描述:用双重循环实现以下图形的输出

                  

                              M
                           MM
                        MMM
                     MMMM
                  MMMMM
               MMMMMM
            MMMMMMM
         MMMMMMMM
      MMMMMMMMM
   MMMMMMMMMM
      MMMMMMMMM
         MMMMMMMM
            MMMMMMM
               MMMMMM
                  MMMMM
                     MMMM
                        MMM
                           MM
                              M

程序代码如下:

/*    
 * Copyright (c) 2012, 烟台大学计算机学院     
 * All rights reserved.     
 * 作    者:郭艳燕   
 * 专业班级:软件工程 
 * 完成日期:2012 年 11 月7 日     
 * 版 本 号:v1.0     
 * 输入描述:无    
 * 问题描述:上下反直角三角形 
 * 程序输出: 
             M
            MM
		   MMM
		  MMMM
		 MMMMM
	    MMMMMM
	   MMMMMMM
	  MMMMMMMM
	 MMMMMMMMM
    MMMMMMMMMM
     MMMMMMMMM
	  MMMMMMMM
	   MMMMMMM
	    MMMMMM
		 MMMMM
		  MMMM
		   MMM
		    MM
			 M

 * 问题分析:上反直角三角形,第i行先输出10-i个空格,再输出i个M  (i=1...10)
             下反直角三角形,第i行先输出i个空格,再输出10-i个M  (i=1...9) 
             
 * 算法设计:用双重循环进行控制,外循环控制行,内循环控制列(每行输出的字符个数)    
 */    
#include <iostream>  
using namespace std;  
int main()  
{  
  int i; //外层循环控制变量  
  int j; //内层循环控制变量,控制每行M的个数
  int k; //内层循环控制变量,控制每行空格的个数
  //上反直三角形
  for(i=1;i<=10;i++) //外层循环  
  {  
     for(k=1;k<=10-i;k++) //内层循环,控制每行的空格数
	 {
	   cout<<' '; 
	 }
	 for(j=1;j<=i;j++) //内层循环,控制每行的M的个数
     {  
       cout<<'M';  
     }  
     cout<<endl;  
  }  
  //下反直三角形
  for(i=1;i<=9;i++) //外层循环  
  {  
     for(k=1;k<=i;k++) //内层循环,控制每行的空格数
	 {
	   cout<<' '; 
	 }
	 for(j=1;j<=10-i;j++) //内层循环,控制每行的M的个数
     {  
       cout<<'M';  
     }  
     cout<<endl;  
  }  
   return 0;  
}  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值