熏小漏 2021-10-27 11:34 采纳率: 80%
浏览 25
已结题

C语言关于杨辉三角的一个问题

#include <stdio.h>
void main()
{
    int i,j;
    int num[10][10];
    num[0][0]=1;
    num[1][0]=1;
    num[1][1]=1;
    for(i=0;i<10;i++)
    {
     for(j=0;j<i;j++)
    {
    if(i==0||i==1)
    {
    printf("%d ",num[i][j]);
    }
    else if(j==0&&j==i)
    {
        num[i][j]=1;
    }
    else if((i!=0&&i!=1)&&(j!=0&&j!=i))
    {
     if(j==1)
    {
        num[i][j]=num[i-1][0]+num[i-1][1];
    }
    else if(j==i-1&&j!=0)
    {
    num[i][j]=num[i-1][i-1]+num[i-1][i-2];
    }
    else
    {
    num[i][j]=num[i-1][j-1]*num[i-1][j];
    }
    printf("%d ",num[i][j]);
    }
    }
    printf("\n");
    }
    getchar();
}

运行出来就是这样

img

想问一下这里是赋值有问题吗

  • 写回答

1条回答 默认 最新

  • 小蚂蚁t 2021-10-27 11:47
    关注

    getchar();?为什么还要输入字符
    int num[10][10]={0};先试一下
    23-26行好像没必要
    你的代码逻辑有点乱
    第一行输出个1,第二行输出个1,就是num[i][0]=1
    其他的都是num [ i ][ j ] =num [ i - 1 ] [ j - 1 ] + num [ i - 1 ] [ j ];
    因为赋了初值为0,后面的1也是可以这样输出的

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图