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;
}
#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");
}
}
for(int i=0;i<10;i++)
{
for(int j=0;j<=i;j++)
printf("%2d",a[i][j]);
printf("\n");
}