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("
");

}

return0;

}



#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");
}
}

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");
}

怎么用c语言中的二维数组完成字母金字塔~

字母金字塔有很多种形式,不过输出的原理都是差不多的。
不用二维数组即可实现。如果用二维数组,就是把字母先写到二维数组中,再一次性输出。
以下以一个比较复杂的字母金字塔为例说明:
#includeint main(){ char a[26][26]; int n; int i,j; char t; scanf("%d",&n); if(n>26||n<=0) return-1; for(i = 0;i<n;i++) { for(j = 0; j<n-i-1; j++) a[i][j] = ' '; t='A'+i; for(; j<n; j++) a[i][j]=t--; t='B'; for(;j<n+i;j++) a[i][j]=t++; a[i][j] = 0; } for(i = 0;i<n;i++) puts(a[i]); return 0;}输入10的时候,效果是

#include
main()
{
int i,j,l,m,n;
scanf("%d%d",&m,&n);
printf("

");
for(i=1;i<=n;i++)
{
for(j=0;j<i;j++)
{l=m+i+j;
printf("%d ",l);
}
printf("
");
m=m+i;
}}
第一步输入scanf("%d%d",&m,&n);m代表首字母即为起始数字,n代表行数,再跳两行 printf("

"); 接着 for(i=1;i<=n;i++)用I做变量控制行数就是I每次循环后自加等于行数n,在一重循环里面 再来一个循环控制每个数相加for(j=0;j<i;j++)而且输出下三角,则j<i,l=m+i+j;是l等于行数加列数再加上你的起始数m,输出l,执行完内循环后即一行跳出,换行,再次执行, m=m+i;行数增加用m来保留增加的行数,,,不知你懂了没有

#18638792724# 怎么用C语言将二维数组转换成字符串输出? - ******
#万浦# printf函数格式化输出,以字符格式一个一个输出

#18638792724# c程序中怎样从键盘上输入数据以二维数组中输出 - ******
#万浦# 定义数组.用循环输入输出.

#18638792724# C语言 二维数组输出 - ******
#万浦# 因为你输入的是字符 所以回车键他也会记录 这就是你少几个原因 敲了几次回车 空格都会记录进去 请采纳~~~

#18638792724# C语言从键盘上输入一个二维数组再输出!!谢谢 - ******
#万浦# #include"stdio.h" void main() { int a[3][3]; int i,j; printf("please input the number:\n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%d ",a[i][j]); printf("\n"); } } 多了几个分抄号,还有输2113入时应该5261用空格或者回车分4102开1653各个数据

#18638792724# c语言二维数组的输入与输出 大神求助.... - ******
#万浦# 程序中数组定义为 int location[width-1][length-1];,width和length都是5,所以location第一维和第二维都是含有四个元素,可是你下面调用却 输出了五个元素.你可能是没明白 数组定义和数组调用的区别,定义的时候,[]里面写的是大小,而调用的时候[]里面是写的下标号,因此如果定义的时候为location[5][5]说明第一维和第二维都是5个元素,但是调用的时候就不存在location[5][5]了,因为数组下标号是从location[0][0]开始的,所以最大的小标应该是location[4][4]

#18638792724# C语言中如何定义动态二维数组并输出 - ******
#万浦# 可以按照下面步骤进行定义二维数组并输出: 1 定义二维指针. 2 确定数组维数,即行数和列数. 3 申请行数个一维指针大小空间,并赋值给二维指针. 4 对于每个一维指,申请列数个元素的空间,并赋值给对应的一维指针. 5 输入或赋值数...

#18638792724# 跪求C语言中怎样把很多字符串存入二维数组中,并用指针输出,急用~谢谢 - ******
#万浦# 给你举个例子,这里str就是一个二维数组,我手动输入10个字符串存入该数组,然后用该二维数组的行指针输出#include<stdio.h>#include<string.h> void main() { char str[10][20]; int i; for(i=0;i<10;i++) gets(*(str+i)); for(i=0;i<10;i++) puts(*(str+i)); }

#18638792724# C语言二维数组输入与输出 - ******
#万浦# 恩,回车也算一个字符的呀,你看下要不要把char a[3][3]改为char a[3][4] 然后两个for(j=0;j<=2;j++)相应改为for(j=0;j<=3;j++),4个字符哦!

#18638792724# 求解 c语言里 二维数组如何全部输出? - ******
#万浦# 你可copy以用2113二层循5261环4102如下1653 int main(void) { int i, j; int a[12][24]; for (i = 0; i < 0; i++) { for (j = 0; j < 0; j++) { printf("%d", a[i][j]); } putchar('\n'); } return 0; }

#18638792724# C语言:输入15个数,用二维数组输出. - ******
#万浦# int main( void ) { int data[5][4] = { 0 }; int i, j; printf("请输入15个整数:\n"); for( i = 0; i < 5; i++ ) for( j = 0; j < 3; j++ ) scanf( "%d", &data[i][j] ); for( i = 0; i <5; i++ ) for( j = 0; j < 3; j++ ) data[i][3] += data[i][j]; for( i = 0; i < 5; i++ ) printf( "%d\t%d\t%d...

为传递更多家电数码信息,若有事情请联系
数码大全网