求C++输出图形,用二维数组和循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求C++输出图形,用二维数组和循环相关的知识,希望对你有一定的参考价值。

图形如下:
*
***
*****
*******
*****
***
*

int i,j,k;
for(i=1;i<=4;i++)

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

for(k=3;k>=1;k--)

    for(j=1;j<=4-k;j++)
        printf(" ");
    for(j=0;j<=2*(k-1);j++)
        printf("*");
    printf ("\\n");

运行结果如下:

参考技术A

#include<iostream>

using namespace std;

int main()

 char buffer[7][7] =0;

   memset(buffer,'*',49);

   for(int i=0;i<=3;i++)

   

   for(int j=0;j<2*i+1;j++)

     cout<<buffer[i][j];

   cout<<endl;

   

   for(int i=4;i<7;i++)

   

     for(int j=0;j<(6-i)*2+1;j++)

   cout<<buffer[i][j];

   cout<<endl;

   

 return 0;

 

参考技术B 直接用C就可以实现了,只要把输入输出格式改下就OK
#include "stdio.h"
void main()

int i,j;
for (i=1;i<5;i++)
for (j=0;j<2*i-1;j++)
printf("*");
printf("\n");

for (i=1;i<4;i++)
for (j=0;j<7-2*i;j++)
printf("*");
printf("\n");

参考技术C #include <iostream>
#include <math.h>
using namespace std;
void main()

int i,j;
for(i=-3;i<4;i++)
for(j=0;j<abs(i);j++)
cout<<" ";
for(j=0;j<(3-abs(i))*2+1;j++)
cout<<"*";
cout<<endl;

参考技术D int main()

const int num = 7;
int i = 0;
int j = 0;
int k = 0;
char stars[num][num];
for(i=0;i<num;i++)

if(i<num/2)

k = 2*i+1;

else

k = 2*(num-i)-1;

for(j=0;j<num;j++)

if(j<k)

stars[i][j]='*';

else

stars[i][j]=' ';



for(i=0;i<num;i++)

for(j=0;j<num;j++)

cout<<stars[i][j];

cout<<endl;

return 0;
本回答被提问者和网友采纳

使用两个for循环给二维数组赋固定值,并输出?

用while循环,建一个移位寄存器,初始值为空的二维数值,在循环里面将新产生的回1维数组插入到移位寄存器输答出的数组里面(使用插入到数值函数),然后输入到移位寄存器的输入端,时间到了,或条件满足时停止循环,生成的就是你想要的数据,里面的1维数值可由一个for循环生成。 参考技术A for(int i = 0; i < n; i ++)
for(int j = 0; j < n; j ++)

a[i][j] = val;

cout << a[i][j] << " ";


cout << endl;

以上是关于求C++输出图形,用二维数组和循环的主要内容,如果未能解决你的问题,请参考以下文章

怎么用perl 输出一个二维数组?

c++用啥表示二维数组的一个数

使用两个for循环给二维数组赋固定值,并输出?

java中大量使用二维数组和for循环会发生内存泄露吗?该怎么解决?

for循环二维数组的取值方式?

怎样求一个二维数组元素之和以及二维数组元素的最小值及下标