解题思路:
这个题我的题解就是纯计算出来的,每一行每一列都是找规律。首先先输入一个数,
对于每一行,写一个外循环,里面套着每一列的输出,也就是内循环,对于每一行的输出,
首先先计算第一个数,规律就是上一行的行数加上上一行那个数。 然后从第二列开始写内循环,
每一列的数就是上一列的那个数加上本列的列数加上上一行的行数。就找出来了。
注意事项:
唯一需要注意的就是格式控制输出,末尾不能有多余的空格,每一个输出最后别有换行,
这个只要你把规律找出来之后循环中稍微限制一下即可。
参考代码:
#include <iostream>
using namespace std;
int main()
{
int n;
while (cin>>n)
{
int temp = 0;
int start = 1;
for (int i=1; i<=n; i++) //行
{
if(i<n)
{
start = i-1+start; //第一个数的规律,上一行的行数加上一行那个数,初始为1
temp = start; //记录第一列,计算第二列时用到
cout << start << " ";
for (int j=2; j<=n-i+1; j++) // 列
{
if (j<n-i+1)
{
temp += j+i-1; //上一列那个数加上本列的列数加上上一行的行数
cout << temp << " ";
}
else
{
temp += j+i-1;
cout << temp;
}
}
cout << endl;
}
else
{
start = i-1+start;
temp = start;
cout << start;
for (int j=2; j<=n-i+1; j++) // 列
{
if (j<n-i+1)
{
temp += j+i-1;
cout << temp << " ";
}
else
{
temp += j+i-1;
cout << temp;
}
}
}
}
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:645 |
C二级辅导-等差数列 (C语言代码)浏览:628 |
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:619 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1114 |
WU-printf基础练习2 (C++代码)浏览:2061 |
WU-C语言程序设计教程(第三版)课后习题11.11 (C++代码)(想学链表的可以看看)浏览:1464 |
母牛的故事 (C语言代码)浏览:739 |
1011题解浏览:819 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:438 |
GC的苦恼 (C语言代码)浏览:672 |