求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++输出图形,用二维数组和循环的主要内容,如果未能解决你的问题,请参考以下文章