嘿伙计们,请你帮帮我,这是我第一次处理阵列而且我已经厌倦了试图解决这个问题 任务是:
我有3个数组,我必须先按顺序打印它们,然后使用包含for循环的void函数以相反的顺序打印它们。
代码是:
#include <stdio.h>
void print_array(int numbers[], int length)
{
//insert code here
}
void print_array_reversed(int numbers[], int length)
{
//insert code here
}
int main( int argc, char* argv[])
{
int data_array_1 = ( 1, 3, 5, 7, 9, 11};
int data_array_2 = ( 2, -4, 6, -8, 10, -12, 14, -16};
int data_array_3 = ( 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ,0};
print_array(data_array_1, 6);
print_array_reversed(data_array_1, 6);
print_array(data_array_2, 8);
print_array_reversed(data_array_2, 8);
print_array(data_array_3, 11);
print_array_reversed(data_array_3, 11);
return 0;
}
请帮助我们伙伴我真的很挣扎这个,我没有在插入代码部分放任何东西,因为没有任何想法已经有任何意义
注意:这不是作业,我正在练习一些示例问题,以帮助我理解数组。但是,请帮助我,因为我的进展显然已经碰壁了。
答案 0 :(得分:0)
完全回答只是在做别人的功课,但是......
很明显你输了,所以让我们同意解决如何处理你所拥有的一些明显问题的问题,让你朝着正确的方向前进。
必须更改:
int data_array_1 = ( 1, 3, 5, 7, 9, 11};
要:
int data_array_1[] = { 1, 3, 5, 7, 9, 11};
现在,你实际上有一个数组。
重复其他类似的事件。注意第三个,这是一个重复的名称。你可能意味着data_array_3。
这些更改将使您转向可编辑的示例。
为了让你离开那里,让我们回顾一下这个事实:
假设:
void print_array(int numbers[], int length)
作为函数签名,函数中的数字[2]将是数组中的第3个int(它们从零开始)。如果length为6,则最后一个有效条目为数字[5]。您可以向后工作索引从5到0。
让我们看看这会让你前进。
答案 1 :(得分:0)
检查示例代码。(打印顺序和反向顺序)
我认为,从这里您将了解如何处理数组和for循环。继续练习。
#include <stdio.h>
void print_array(int numbers[], int length)
{
printf("In order\n");
for (int i = 0; i < length; i ++)
printf("%d ",numbers[i]);
printf("\n");
}
void print_array_reversed(int numbers[], int length)
{
printf("Reverse order\n");
for(int i = length-1; i >=0; i --)
printf("%d ",numbers[i]);
printf("\n");
}
int main( int argc, char* argv[])
{
int data_array_1[] = { 1, 3, 5, 7, 9, 11};
int data_array_2[] = { 2, -4, 6, -8, 10, -12, 14, -16};
int data_array_3[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ,0};
print_array(data_array_1, 6);
print_array_reversed(data_array_1, 6);
print_array(data_array_2, 8);
print_array_reversed(data_array_2, 8);
print_array(data_array_3, 11);
print_array_reversed(data_array_3, 11);
return 0;
}