for-二维数组的输入i的下标问题

问题描述

二维数组的输入i的下标问题

for(i = 1;i < row;i++){ 这句话不应该是for(i = 0;i < row;i++)怎么从1开始

解决方案

起始值根据需要来设定,i=1时第一行数据不输入。如
#include

int main(void)
{
int i = 0;
int j = 0;
int array[3][3] = {0}; //如果没有全部初始化为0,第一行输出则为一个不确定的值。根据编译器的情况而定,有的编译器会自动给数组初始化为0.
for(i= 1;i
{
for(j = 0;j
{
array[i][j] = i+j;
}
}
for(i= 0;i
{
for(j = 0;j
{
printf("%d",array[i][j]);
}
printf("n");
}
return 0;
}
Output:
000
123
234
如果没有初始化//codepad在线编译器下编译
#include

int main(void)
{
int i = 0;
int j = 0;
int array[3][3] = {0};
for(i= 1;i<3;i++)
{
for(j = 0;j<3;j++)
{
array[i][j] = i+j;
}
}
for(i= 0;i<3;i++)
{
for(j = 0;j<3;j++)
{
printf("%d",array[i][j]);
}
printf("n");
}
return 0;
}
Output:
-143098616 -143100480 -143207760
123
234
]

解决方案二:

这不好说,也许第一行是表头,或者作为参照数据,比如计算两行的差之类的,需要忽略。

解决方案三:

是否从1或者其它数字开始都没有关系的,关键在于循环中的代码是如何实现的。
例如:循环中可以使用 i - 1 做下标,这样从 1 开始就是正常的 。

解决方案四:

和一维数组同样的道理,第一个元素的地址为数组的头地址,相当于base+0,这样向下访问一直到 base+num-1的地址。二维的与一维是同样的思路

解决方案五:

从 i=1 开始,就是从第二个元素开始处理,第一个元素不处理。i<row,保证循环中下标不会越界,写成i<=row-1也是可以的。
没有硬性规定for循环中 下标一定要从i=0开始。 只要下标不越界,代码怎么写都没问题。至于i从什么值开始,什么值结束,这个要看具体的应用场景和业务需求。

解决方案六:

能发现这个问题很好,说明你还是适合写代码的
从1开始处理,第0行不处理,肯定是有他的意义的
要仔细分析代码的上下文,应该看出来他为什么不处理第0行
如果分析不出来,就是写代码的人的问题了,问他就可以了

解决方案七:

能发现这个问题很好,说明你还是适合写代码的
从1开始处理,第0行不处理,肯定是有他的意义的
要仔细分析代码的上下文,应该看出来他为什么不处理第0行
如果分析不出来,就是写代码的人的问题了,问他就可以了

时间: 2024-11-03 18:22:02

for-二维数组的输入i的下标问题的相关文章

二维数组中的查找概述

这一题给跪,c++死活超时...后来main函数改成用c就好了... 算法: /* 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入的第一行为两个整数m和n(1<=m,n<=1000):代表将要输入的矩阵的行数和列数. 输入的第二行包括一个整数t(1<=t<=1000000):代表要查找的数字.

如何获得二维数组当前位置的第二个下标

问题描述 假设定义了一个二维数组A(3,5),其中A(1,3)=6.请问我怎样才能获得A(1,2)中的第二个下标的值2?谢谢! 解决方案 解决方案二:不知道你的意思啊,说具体点解决方案三:我的意思是:假设定义了一个二维数组A(3,5),其中A(1,1)=5,A(1,2)=6,A(1,3)=4.我要从这3个数组变量中找到最大的那个值(在这里是"6"),找到这个值后,我还想得到这个值所对应二维数组变量的第二个下标(在这里是"2").不知道这样说,是否能让你理解我的意思了

python如何输入二维数组

问题描述 python如何输入二维数组 5C 新手刚学python,用的是python3.4想通过input输入二维数组后程序用数组中的元素进行运算,运行时有错误代码ValueError: invalid literal for int() with base 10, 该怎么解决?如果不能直接输入的话,是否可以通过输入每个元素及行列数构成二维数组? 解决方案 http://blog.chinaunix.net/uid-10527160-id-2949488.html 解决方案二: Python

c-用for循环输入二维数组的时候,第一组数为什么为0?

问题描述 用for循环输入二维数组的时候,第一组数为什么为0? 代码如下 #include int main() { void paixu(float food[100][2], int N); float M,total = 0; int N,j,i; while (scanf("%f%d", &M, &N)&&M != -1 && N != -1) { float food[100][2] = { 0 }; for (i = 0; i

为什么输出的不同?-c++用二维数组输入10个学生的成绩

问题描述 c++用二维数组输入10个学生的成绩 #include using namespace std ; main() { int stu [10][4] ; int i, j ; for ( i = 1 ; i <= 10 ; i ++ ) { cout << "请输入"<< "第" << i << "个学生的四门成绩: " ; for ( j = 1 ; j <= 4 ; j +

c#-对二维数组如何使用户输入赋值

问题描述 对二维数组如何使用户输入赋值 对二维数组如何使用户输入赋值? num1[0,0] = Convert.ToInt32(Console.WriteLine()); 解决方案 Console.ReadKey()

[剑指Offer]5.二维数组中的查找

题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思路 [算法系列之三十三]杨氏矩阵 代码 /*--------------------------------------- * 日期:2015-07-19 * 作者:SJF0115 * 题目: 5.二维数组中的查找 * 网址:http://www.nowcoder.com/books/coding-interviews/a

C语言,寻找二维数组鞍点,代码个人测试正确, 但是wrong answer, 求大神指点

问题描述 C语言,寻找二维数组鞍点,代码个人测试正确, 但是wrong answer, 求大神指点 Description 给定一个海拔平面图,相当于一个二维数组,数组的每个元素表示一个点的海拔高度.请判断该图中是否存在鞍点,如果存在,则输出该鞍点的位置,即行.列坐标. 本题规定鞍点的定义为:该点的值在它所在的那行中是唯一最大的,且该点的值在它所在的那列中是唯一最小的. Input 输入有多个测试用例,如果把每个测试用例看作一个"块",那么,在一个"块"中: 第一行

三消-求助!关于二维数组相邻数字的判断

问题描述 求助!关于二维数组相邻数字的判断 题目是: 用任意编程语言实现,关于<三消除宝石类游戏>的匹配算法 地图用一个二维数组map[m][n]表示 问题有3个: 1.随机填入1到4的数字到map,表示4种不同的宝石,格式化打印出地图内容,让地图内容肉眼可读. [这道我写出来了,用的2个for循环] 2. 计算出符合条件的格子(横着或者竖着连续三个或三个以上相同)消除掉后的地图变化 ,消除掉宝石的空格子设置成0,格式化打印地图. [这道不会] 3. 计算宝石下落,填满空格子后的地图变化(最上