解题思路:
这个题我的题解就是纯计算出来的,每一行每一列都是找规律。首先先输入一个数,
对于每一行,写一个外循环,里面套着每一列的输出,也就是内循环,对于每一行的输出,
首先先计算第一个数,规律就是上一行的行数加上上一行那个数。 然后从第二列开始写内循环,
每一列的数就是上一列的那个数加上本列的列数加上上一行的行数。就找出来了。
注意事项:
唯一需要注意的就是格式控制输出,末尾不能有多余的空格,每一个输出最后别有换行,
这个只要你把规律找出来之后循环中稍微限制一下即可。
参考代码:
#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语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1008 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1514 |
剪刀石头布 (C语言代码)浏览:1747 |
WU-输出九九乘法表 (C++代码)浏览:1655 |
DNA (C语言描述,数据结构)浏览:850 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:464 |
母牛的故事 (C语言代码)浏览:715 |
1011题解浏览:760 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:581 |
C二级辅导-等差数列 (C语言代码)浏览:694 |