C语言 用数组打印扬辉三角形

作者&投稿:狂洋 (若有异议请与网页底部的电邮联系)
C语言中一般是怎么打印出字符数组的?~

首先附值的时候为了使空间更准确可以这样
char c[]="wowow";

第二是printf("%s", c); 而不是你的s% 。

int main()
{
int arry[5] = {1,3,6,2,9};
int i,j;
for (i = 0; i < 5 ; ++i)
{
for (j=0;j<5;j++)
{
printf("%d",arry[(i+j)%5]);
}
printf("
");
}
return 0;
}

//a[21]就是告诉你只能存21个数据,也就是说你最多输出20行,再多就不行了!

#include <stdio.h>

void main()

{

    int a[21],i,j,n ;

    scanf("%d",&n);

    printf("
");

    a[0]=1 ;

    for(i=0;i<=n;i++)    //n用来控制要输出的杨辉三角的行数

    {

        for(j=1;j<=40-3*i;j++)  //第i行前面的空格个数为40 - 3*i

   printf(" ");

        for(j=0;j<=i;j++)       //用来输出第i行的i + 1个元素,注意第0行只有一个元素1

   printf("%6d",a[j]);

  a[i+1]=1 ;

        for(j=i;j>=1;j--)

   a[j]=a[j-1]+a[j]; //从后向前计算下一行的除了a[0]外的每个元素的数值还放在a[]数组中

  printf("
"); 

    }

}



int a[21]是定义数组a[],数组的类型是int,即整型;a是数组名;21是数组中元素的个数。
当你定义a[21]时,数组下标的范围是:
0~20 共21个元素

具体反映到这个程序中就是说
a[i]的值是杨辉三角中数字的值
当定义了a[21]也就是限制了a[]元素的最多个数21之后
程序中n(行数)最多也只能到21 因为 a[i]是每一行的各个元素 每行数的个数和行数相等

a[n]的格式的意思:a是数组名 n是下标 就是数组中元素的序号
话说你知道数组是什么意思吧?。。=。=
数组就是说 同一类型(比如a[n]都是int型)叫同一个名字(比如都叫a)的一串东西(a[0] a[1] a[2] a[3]......)
顺便一提,刚刚定义的数组中元素的数值可能是乱码一样的数字 所以使用之前一般都要赋值为0

至于程序每行都是干啥的
楼下正解=。=


汶上县15134152060: C语言利用一维数组编写杨辉三角 -
伯孙烧伤: #include <stdio.h> #define N 10 /* 要打印的层数 */ int main(void) {int arr[N]; /* 用于保存生成的杨辉三角的每一行的值 */int i, j;arr[0] = 1; /* 杨辉三角的第一层 */ /* 先把第一层打印出来 */printf("%5d\n", arr[0]);arr[1] = arr [0] = 1;//这样写...

汶上县15134152060: C语言编写 用数组输出杨辉三角十行 -
伯孙烧伤: //C语言经典100例中的原题,给你,希望对你有帮助! #include "stdio.h" #include "conio.h" main() {int i,j;int a[10][10];printf("\n");for(i=0;i<10;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<10;i++)for(j=1;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<...

汶上县15134152060: C语言二维数组做杨辉三角 -
伯孙烧伤: #include<stdio.h> void main() { int a[10][10],i,j; for(i=0;i<10;i++) for(j=0;j<10;j++) a[i][j]=0; for(i=0;i<10;i++) { a[i][0]=1; a[i][i]=1; } for(i=2;i<10;i++) { for(j=1;j<10;j++) a[i][j]=a[i-1][j]+a[i-1][j-1]; } for(i=0;i<10;i++) { for(j=0;j<=i;j++) printf("%d ",a[i][j]); printf("\n"); } } 这是在您的基础上修改的.

汶上县15134152060: 详解C语言用数组表示杨辉三角........ -
伯孙烧伤: 杨辉三角形的六种解法 杨辉三角形是形如 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全是1,从第二行起,中间的每一个数是上一行里相邻两个数之和.这个题...

汶上县15134152060: C语言中编程打印输入杨辉三角形 -
伯孙烧伤: #include <stdio.h>#include <conio.h>#define ARR_LEN 255 /* 数组长度 */ int main (void) { int lines, yht[ARR_LEN][ARR_LEN]; int i, j; lines = 6; /* 杨辉三角形行数 */ /* 每行最左侧与最右侧值为1 */ for (i=0; i<lines; i++) { yht[i][0] = 1; yht[i][i] = 1; /* ...

汶上县15134152060: C语言:打印出杨辉三角形(要求打印出10行如下图)(用数组) -
伯孙烧伤: #include void fun(int a[][34],int n) { int i,j; for(i=0;ifor(j=0;j{ if(i==j) a[i][j]=1; else if(j==0) a[i][j]=1; else a[i][j]=a[i-1][j-1]+a[i-1][j]; } } int main() { int i,j,k,n; int a[34][34]; k=1; while(scanf("%d",&n)==1) // 输入你要显示的行数,如1,2,3,4,... { fun(a,n); printf("...

汶上县15134152060: c语言一维数组实现杨辉三角 -
伯孙烧伤: #define N 135 main() { int a[N]; float i,j,k; for(i=0;i<N;i++) a[i]=0; a[0]=1; for(i=3,j=2;j<=N;i++) { a[j]=1; a[j-1]=1; j=j+i; } for(i=3,j=2;i<N;i++) { if(a[i]!=1) { a[i]=a[i-j]+a[i-j-1]; } else j+=0.5; } printf("\n\n"); for(i=0,j=2,k=2;i<N;i++) { if(i==k) { printf("\n"); j++; k=k+j; } printf("%4d ",a[i]); } }

汶上县15134152060: c语言二维数组输出杨辉三角 -
伯孙烧伤: #include<iostream> using namespace std; int main() { int a[30][30],i,j,n; while(cin>>n) { for(i=0;i<n;i++) for(j=0;j<n;j++) { if(j==0||i==j) a[i][j]=1; else a[i][j]=a[i-1][j]+a[i-1][j-1]; } for(i=0;i<n;i++) for(j=0;j<=i;j++) { if(j==i) cout<<a[i][j]<<endl; else cout<<a[i][j]<<" "; } cout<<endl; } return 0; }

汶上县15134152060: C语言编程,用数组输出杨辉三角形的6行,我的哪里错了,请高手帮忙 -
伯孙烧伤: #include <stdio.h>#define N 6 int main() { int a[N][N]={0},i,j; for(i=0;i<N;i++) { for(j=0;j<=i;j++) { if(j==0||i==j) a[i][j]=1; else a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(i=0;i<N;i++) { for(j=0;j<=i;j++){ printf("%d\t",a[i][j]); if(j==i) printf("\n"); } } return 0; }

汶上县15134152060: C语言数组题一枚,求大神! 打印以下的杨辉三角形(要求打印出10行) 1 1 1 1 2 1 1 3 3 1 1 4 5 4 1 …… -
伯孙烧伤: #includeint main () { int a[10][10],i,j; for(i=0;i

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网