解题思路:
本题通过观察可知
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
a[0][0]+2=a[0][1]; a[0][1]+3=a[0][2]; a[0][2]+4=a[0][3].....
把每个数之间的差值列到本子上即可得到规律
先找出第一行数据的值,按要求打印出来,再根据第一行的值逐个打印第二行,第三行的值,直到最后一行即可
注意事项:
看看思路就好,代码我写的时候是先找到第一列的值再根据规律找到其他行的值,但是到最后打印的时候发现第一列的值打印不出来,后面加了很多补丁才解决的,当时没写注释,所以现在我也看不懂代码哪是哪了,但是思路是没问题的,代码结果也是正确的,可以copy
参考代码:
#include<iostream>
using namespace std;
#include<cstring>
int main()
{
int a = 0;
int b = 0;
int c = 2;
int d = 0;
cin >> a;
int abs = a;
int arr[105][105];
memset(arr, 0, sizeof(arr));
for (int i = 0; i < a; i++)
{
if (i == 0)
arr[i][0] = 1;
else
arr[i][0] = arr[i-1][0] + b;
b++;
}
for (int i = 0; i < a; i++)
{
int temp = c;
int ah = 1;
for (int j = 1; j < abs; j++)
{
arr[i][j] = arr[i][j - 1] + temp;
if (ah == 1)
{
cout << arr[i][j - 1] << " "; ah = 0;
}
cout << arr[i][j];
if (j < abs - 1)cout << " ";
temp++;
}
if(i!=a-1)
cout << endl;
c++;
abs--;
d = i;
}
cout << arr[d][0];
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:583 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1968 |
简单的a+b (C语言代码)浏览:857 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:692 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:529 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:465 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:871 |
【出圈】 (C++代码)简单循环浏览:699 |
母牛的故事 (C语言代码)浏览:495 |
1202题解浏览:689 |