我是C编程的新手,我有一项任务,我甚至不知道从哪里开始。
这就是我要做的事情:获取一个整数列表并将它们分类为几率和均数将偶数整数按照发生的顺序排在列表的后面。我们必须在List[]
例如:
假设数组列表初始化为Size设置为10:
int List[Size] = {13, 31, 24, 16, 3, 48, 21, 11, 39, 6};
然后调用evensToBack()
会导致
指数:0 1 2 3 4 5 6 7 8 9
价值:13 31 3 21 11 39 24 16 48 6 价值4被退回。
所有我得到的就是这个起始代码:
`int evensToBack(int* const List, const int Size){
//body
}`
请帮我解释如何开始这里。我将不胜感激。
答案 0 :(得分:1)
对我而言似乎想要给出指示而不是答案。考虑到这一点,当我看到这些问题时,这是思考过程:
答案 1 :(得分:1)
你只需要在数组中循环并将偶数放在最后位置。
类似的东西:
for(i=0;i<length(List);i++)
if isEven(List[i]){
tempvar=List[i];
for(j=i;j<length(List)-1;j++) List[j]=List[j+1];
List[j+1]=tempvar;
}
答案 2 :(得分:0)
跟踪2个指数,顶部和底部
所以你的top = 0和bottom = Size - 1开头
循环遍历列表以设置底部索引(只是为了确保底部索引指向最底部的奇数)
使用top = 0
再次遍历列表if List[top]%2 != 0 // if its an odd number
swap it with List[bottom]
decrement bottom by 1
increment top by 1
直到尺寸&gt;顶部或顶部==底部
注意:您需要创建自己的列表,因为参数都是常量,因此您无法修改传递给函数的列表