注册 登录
编程论坛 C++教室

新手才学C++,求帮助啊。

动情时刻 发布于 2013-04-09 17:19, 542 次点击
这个题是要求输出杨辉三角形,只输出10行,我编的是
#include<stdio.h>
void main()
{
    int i,j,a[10][10];
    for(i=1,i<=9,i++)
        a[i][0]=a[i][i]=1;
    for(i=2,i<=9,i++)
        for(j=1,j=i-1,j++)
            a[i][j]=a[i-1][j-1]+a[i-1][j];
        printf("%d",a[i][j])

}
求大家解救下啊,  新手哦,还有问下就是怎么才可以把矩阵表示出来?

[ 本帖最后由 动情时刻 于 2013-4-9 17:30 编辑 ]
7 回复
#2
qunxingw2013-04-09 19:28
for()//;;;;;;

printf("%d",a[i][j])//要循环输出
#3
动情时刻2013-04-10 10:41
大哥,你帮我改下嘛,还是不懂啊,    改了还是有个错误。
#4
周佳峰2013-04-10 13:41
#include <stdio.h>
void main()
{
    int i,j,a[10][10];
    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<10;i++)
    {
        for (j=0;j<=i;j++)
            printf("%-3d  ",a[i][j]);//3为输出宽度,-表示向左靠齐
        printf("\n");
    }   
}
你的那个for循环里面应该都是分号,而不是逗号,一般数组都是以0开头的,我按习惯改了过来...
#5
valers2013-04-10 16:00
一起学习
#6
Liu34201752013-04-10 16:44
#include <stdio.h>
int main()
{
  int i,j,a[10][10];
  for (i=0;i<10;i++)
  {
    a[i][i]=1;
    }
  for(i=1;i<10;i++)
  {
      a[i][0]=1;
  }
  for (i=2;i<10;i++)
    for (j=1;j<=i-1;j++)
       a[i][j]=a[i-1][j-1]+a[i-1][j];
  for (i=0;i<10;i++)
    {for (j=0;j<=i;j++)
  printf("%d ",a[i][j]);
   printf("\n");
}
}
要输出一列数组,一般要借助for循环语句,而且一定要理解循环语句在编译时是怎么样的一个循序编译,这个要理解清楚,否则很容易出错
#7
动情时刻2013-04-10 19:11
回复 6楼 Liu3420175
谢谢大哥,  还有它那个都左对齐是怎么回事啊?   怎么自己就换行了?
#8
邓士林2013-04-10 19:11
1、for(i=1,i<=9,i++);for(i=2,i<=9,i++);for(j=1,j=i-1,j++)你的for循环的形式就不对,好好看看基础;#include <stdio.h>
 int  main()
 {
     int i,j,a[10][10];
     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<10;i++)
     {
         for (j=0;j<=i;j++)
             printf("%-3d  ",a[i][j]);
         printf("\n");
     }  
     return 0;
}
1