C语言中如何用 二维数组输出金字塔形或直角三角形数组?

如题所述

#include<iostream>

#include<string>

usingnamespacestd;

intmain()

{

std::cout<<"Inputnum:";

intn;

std::cin>>n;

inta[10][10];

for(inti=1;i<=n;++i)

{

for(intj=1;j<=i;++j)

a[i][j]=1;

for(intj=i+1;j<=n;++j)

a[i][j]=0;

}

for(inti=0;i<=n;++i)

{

for(intj=0;j<=n;++j)

if(a[i][j]==1)

cout<<j;

cout<<endl;

}

}

扩展资料

二维字符数组的输出

#include<stdio.h>

intmain(){

//声明一个字符型二维数组,高维3,低维6

//高维代表有多少个字符串,低维代表每个字符串有多少个字符

//低维要能满足最多字符的字符串

//字符数组最后以\0结束,要给它留出一个位置,所以低维是6

chararray[3][6]={

{'o','n','e'},

{'t','w','o'},

{'t','h','r','e','e'},

};

//循环输出三个字符串

for(inti=0;i<3;i++){

for(intj=0;j<6;j++){

printf("%c",array[i][j]);

}

//输出完一个字符串就换一行

printf("\n");

}

return0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
#include<stdio.h>
#define M 7
#define N 7
void main()
{
int a[M][N],i,j;
for(i=0;i<M*N;i++)
{
a[i/N][i%N]=1;//二维数组a初始化,初值为1
}
printf("金字塔如下:\n");
for(i=0;i<M;i++)
{
for(j=0;j<M-i-1;j++)
{
printf(" ");
}
for(j=0;j<i+1;j++)
{
printf("%-2d",a[i][j]);
}
printf("\n");
}
printf("直角三角形如下:\n");
for(i=0;i<M;i++)
{
for(j=0;j<i+1;j++)
{
printf("%-2d",a[i][j]);
}
printf("\n");
}
}本回答被网友采纳
第2个回答  2014-11-25
int a[10][10];
for(int i=0;i<10;i++)
{
for(int j=0;j<=i;j++)
printf("%2d",a[i][j]);
printf("\n");
}