然后在创建数组时,数字序列(3-5-7-9-11等)在第一列中开始,在最后一列结束。列中的其余数字是由用户从第一行开始通过键盘添加的(忽略第1列和最后一列,因为我们已经添加了这些数据)。
问题是:
我现在的位置:
Console.WriteLine("Add row value of 1-10");
string s1
s1 = Console.ReadLine();
int k = int.Parse(s1);
Console.WriteLine("Add column value of 1-10");
string s2;
s2 = Console.ReadLine();
int p = int.Parse(s2);
int[,] M = new int[k, p];
示例:我们添加了k(行)& p(coulmn)值为4.因此数组应该如下:
3 x x 11
5 x x 13
7 x x 15
9 x x 17
然后应该手动添加X,而不会覆盖现有的数字。数字的值无关紧要。
答案 0 :(得分:0)
所以...如果我做对了你想问用户动态二维数组的“长度和宽度”? 要检查输入的数字是否在1到10之间,只有一种方法:
int [,] M;
if (k >= 1 && k <= 10 && p >= 1 && p <= 10)
{
M = new int[k,p];
}
如果用户在那里输入字符而不是数字,最好是int.TryParse()
,否则您可以轻松获得Exception
。
填写数字:
int num = 3;
for (int i = 0; i < k; ++i)
{
M[i,0] = num;
num+=2;
}
for (int i = 0; i < k; ++i)
{
M[i,p] = num;
num+=2;
}
这会在每行的第1列和最后一列中添加数字。之后,手动填充其他单元格,检查它不是第一列或最后一列的每个单元格。 我希望我能正确理解你。提供的代码可以简化,但以这种方式提供以便更好地理解。
答案 1 :(得分:0)
if(k>0 && k<11 && p>0 && p<11)
{
int i;
int M[,] = new int[k,p];
for (i=0;i<k;i++)
{
M[i,0]=i*2+3;
M[i,p-1]=(i+k)*2+3;
}
}