- UID
- 261246
- 在线时间
- 0 小时
- 最后登录
- 1970-1-1
- 注册时间
- 2012-10-28
- 宅魂
- 89 点
- 贡献
- 49 点
- 宅币
- 213 枚
- 灵石
- 0 块
- 元气(技能点)
- 3 点
- 活跃
- 0 ℃
- 听众
- 4
- 收听
- 0
该用户从未签到
New Game
- 积分
- 777
|
发表于 2012-10-28 03:32:01
|
显示全部楼层
你的嵌套循环中第二层循环里塞了太多的东西,
首先
ia = new int[i + 1];
再每一个第二层循环里都重新初始化了当前行,造成前面就本行的运算结果被清空
其次
foreach (int y in ia){ Console.Write("{0}*{1}={2}\t", (i + 1), k, y); }
应当在本行全部运算完毕后再打印,而不是每一列都打印一边,所以还有大量的列尚未填充,自然到处是0(int变量初始值)
修正程序如下[mw_shl_code=csharp,true]static void Main(string[] args)
{
const int rows = 9;
int[][] ia = new int[rows][];
for (int i = 0; i < 9; i++)
{
ia = new int[i + 1];
for (int j = 0, k = 1; j < i + 1; j++, k++)
{
ia[j] = (i + 1) * k;
}
int kk=1;
foreach (int y in ia)
{
Console.Write("{0}*{1}={2}\t", (i + 1), kk, y);
kk++;
}
Console.WriteLine();
}
}[/mw_shl_code] |
评分
-
查看全部评分
|