【发布时间】:2022-01-02 05:45:55
【问题描述】:
我必须编写一个函数,根据客户喜欢的顺序(最低、次低等)调用最低价格,但我很难尝试从数组中调用正确的元素。
int lowestPrice(int array[], int size, int order){
int tempArray[size];
for(int i = 0; i < size; i++){
int swapped = 0;
for(int j = 0; j < size - i - 1; j++){
if(array[i] > array[i+1]){
int temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
swapped = 1;
}
int j=0;
for (int i = 0; i < size - 1; i++){
if (array[i] != array[i+1]){
tempArray[j] = array[i];
}j++;
} tempArray[j] = array[i - 1];
}
if (swapped == 0){
for (int i = 0; i < size; i++){
printf("%d\t", array[i]);
}break;
}
}
}
【问题讨论】:
-
很不清楚你在问什么,请尝试创建minimal reproducible example
-
考虑用GNU indent缩进你的C代码,然后用GCC编译它,调用为
gcc -Wall -Wextra -g,然后使用GDB调试器。您可能需要使用calloc,然后使用free作为您的tempArray。你当然应该花几个小时阅读一篇好的C programming book。您可能想使用Frama-C -
@kan3 这个声明 int tempArray[];不正确。