|
发表于 2023-5-19 19:12:13
|
显示全部楼层
加上了三处逻辑错误
题目要求:修改一段代码中的错误,使其可以完成应有的功能
程序功能:输入一个数字n,输出一个n行的杨辉三角
待修改的程序:
- #include<bits/stdc++>
- using namespace std;
- int a[1000][1000];
- int main()
- {
- int n,i;
- cin>>n;
- for(i=0;i<=n;i++)
- {
- a[i][0]=1;
- a[i][i]=1;
- for(j=1;j<i:j++)
- a[i][j]=a[i-1][j]-a[i-1][j-1];
- }
- for(i=0;i<n;i+)
- {
- for(j=0;j<i;j++)
- cout<<a[j][i]<<" ";
- cout<<endl;
- }
- return 0
- }
复制代码
测试数据:
样例输入:
样例输出:
- 1
- 1 1
- 1 2 1
- 1 3 3 1
- 1 4 6 4 1
- 1 5 10 10 5 1
- 1 6 15 20 15 6 1
- 1 7 21 35 35 21 7 1
复制代码
正确答案:
- #include<bits/stdc++.h>
- using namespace std;
- int a[1000][1000];
- int main()
- {
- int n,i,j;
- cin>>n;
- for(i=0;i<=n;i++)
- {
- a[i][0]=1;
- a[i][i]=1;
- for(j=1;j<i;j++)
- a[i][j]=a[i-1][j]+a[i-1][j-1];
- }
- for(i=0;i<n;i++)
- {
- for(j=0;j<=i;j++)
- cout<<a[i][j]<<" ";
- cout<<endl;
- }
- return 0;
- }
复制代码 |
|