打印数字菱形

使用循环结构打印出如下图形:

      1

    212

  32123

4321234

  32123 

    212

      1

参考程序如下:

#include<iostream>
using namespace std;

int main()
{
  for(int i=-3;i<=3;i++) //控制输出的行数
  {
    int k=abs(i);
    for(________) //控制输出的空格数
      cout<<' ';
    for(________) //控制输出的数字
      cout<<____;
    cout<<endl;
  }
  system("pause");
  return 0;
}

答案:

#include<iostream>
#include<stdlib.h>
using namespace std;
int main(){

    for(int i = -3; i <= 3; i++){
        int k = abs(i);
        for(int j = 0; j <= k; j++){
            cout<<' ';
        }
        for(int j = k-3; j <= 3-k; j++ ){
            cout<<abs(j)+1;
        }
        cout<<endl;
    }
    
    system("pause");
    return 0;
}

或者:

#include<iostream>
#include<stdlib.h>
using namespace std;
int main(){

    for(int i = -3; i <= 3; i++){
        int k = abs(i);
        for(int j = 0; j <= k; j++){
            cout<<' ';
        }
        for(int j = 0; j < 7-2*k; j++ ){
            cout<<abs(3-k-j)+1;
        }
        cout<<endl;
    }
    
    system("pause");
    return 0;
} 

拓展:

#include<iostream>
#include<stdlib.h>
using namespace std;
int main(){

    for(int i = -2; i <= 2; i++){
        int k = abs(i);
        for(int j = 0; j <= 2 * k; j++){
            cout<<' ';
        }
        for(int j = 0; j < 9 - 4 * k; j++ ){
            cout<<abs(4 - 2 * k - j) + 1;
        }
        cout<<endl;
    }
    system("pause");
    return 0;
} 

猜你喜欢

转载自www.cnblogs.com/-rainbow-/p/9746629.html