C#编程数字题

来源:百度知道 编辑:UC知道 时间:2024/06/27 08:01:28
在某日历上任意圈出3*3个数,他们的和是108,这九天分别是几号,设计一个程序试求之。(参考:4,5,6,11,12,13,18,19,20)

int[,] 解题(int[,] 日历)
{
int I, J;
int[,] 结果;
for (I = 1; I < 4; I++)
{
for (J = 1; J < 6; J++)
{
if (求和(日历, I, J) == 108)
{
结果 = new int[3, 3]
{
{日历[I - 1, J - 1],日历[I - 1, J],日历[I - 1, J + 1]},
{日历[I, J - 1],日历[I, J],日历[I + 1, J + 1]},
{日历[I + 1, J - 1],日历[I + 1, J],日历[I + 1, J + 1]}
};
return 结果;
}
}
}
return null;
}

int 求和(int[,] 日历, int I, int J)
{
return 日历[I - 1, J - 1] + 日历[I, J - 1] +
日历[I + 1, J - 1] + 日历[I - 1, J] +
日历[I, J] + 日历[I + 1, J] +
日历[I - 1, J + 1] + 日历[I, J + 1] +
日历[I + 1, J + 1];
}

/*****************应用举例********************/
int[,] 日历 = new int[5,7]
{
{1,2,3,4,5,6,7},
{8,9,10,11,12,13,14},
{15,16,17,18,19,20,21},
{22,23,24,25,26,27,2