码迷,mamicode.com
首页 > 其他好文 > 详细

杨辉三角问题

时间:2019-06-24 16:49:58      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:一个   color   for   std   print   答案   错误   amp   code   

 

题目描述

按要求输入如下格式的杨辉三角

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

最多输出10层

输入

输入只包含一个正整数n,表示将要输出的杨辉三角的层数。

输出

对应于该输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开

样例输入

5

样例输出

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

错误答案:
 1 #include<stdio.h>
 2 int main(){
 3     int Yhui[10][10];
 4     for(int i = 0; i < 10; i++){
 5         Yhui[i][0] = 1;
 6         Yhui[i][i] = 1;
 7         for(int j = 1; j < i; j++){
 8             Yhui[i][j] = Yhui[i-1][j-1] + Yhui[i-1][j];
 9         }
10     }
11     int num;
12     scanf("%d", &num);
13     if(num > 10){
14         printf("请输入小于10的整数!\n");
15         return 0;
16     }
17     for(int i = 0; i <= num; i++){
18         for(int j = 0; j <= i; j++){
19             printf("%d", Yhui[i][j]);
20             printf(" ");
21         }
22         printf("\n");
23     }
24     return 0;
25 }

因为没有考虑到i的取值,导致(i -1)越界,改了很久,正确答案如下:

 1 #include<stdio.h>
 2 int main(){
 3     int n, i, j;
 4     scanf("%d", &n);
 5     int a[n][n];
 6     for(i=0; i<n; i++){
 7         a[i][i] = 1;
 8         a[i][0] = 1;
 9     }
10     for(i=2; i<n; i++){
11         for(j=1; j<i; j++){
12             a[i][j] = a[i-1][j-1] + a[i-1][j];
13         }
14     }
15     for(i=0; i<n; i++){
16         for(j=0; j<=i; j++){
17             printf("%d ", a[i][j]);
18         }
19         printf("\n");
20     }
21     return 0;
22 }

 

杨辉三角问题

标签:一个   color   for   std   print   答案   错误   amp   code   

原文地址:https://www.cnblogs.com/narnia/p/11077565.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!