一次性更改数组的不同索引处的值

时间:2013-12-11 18:59:49

标签: c arrays

假设我有一个100个student_marks的数组。假设在某个索引之后,比如9我想向每个学生添加一个特定的值,说2到初始值,即假设我最初有

student_mark[0]=5
student_mark[1]=6...
.... 
....
student_mark[9]=2
student_mark[10]=5
....
....
student_mark[99]=8

然后在索引9之后根据我的要求添加2之后,我应该得到类似的东西

student_mark[0]=5
student_mark[1]=6...
.... 
....
student_mark[9]=2
student_mark[10]=7
....
....
student_mark[99]=10

是否有一种方法可以一次性完成此操作而无需从索引10迭代到100,每次单独添加2。

3 个答案:

答案 0 :(得分:1)

没有好办法。您描述的for循环有什么问题?

如果这确实是你程序的瓶颈,我猜你是在反复调用这段代码。在这种情况下,可能有更好的算法来实现您的真实最终目标(我们不知道),但是要完成您在原始帖子中描述的特定任务(为每个元素添加两个)一个数组),你不会找到一个比C for循环更好的解决方案。

答案 1 :(得分:1)

并非没有使用某些heavy duty vector stuff。如果您需要询问,那么它不适合您。只需迭代它,在现代硬件上的C就非常快。

答案 2 :(得分:-1)

int i;
for (i = 10; i < 100; i++){
    student_mark[i] +=2;
}