【发布时间】:2017-11-28 17:21:29
【问题描述】:
嗨,有人可以帮我解决我的代码中的逻辑错误,我想通过数组打印出一些浮点数,但是当我输入数字时,它会打印出垃圾和 0.000000 或其他。
这是我的代码,我定义了 SIZE 4 只是为了让它更容易:
int main(){
double array1[SIZE];
printf("\n Enter the elements of Array 1: ");
get_value(array1);
printf("\n\n Elements of Array 1: ");
print_value(array1, SIZE);
}
然后是我的函数
void get_value(double arr[]){
int i, j;
for (i = 0; i < SIZE; i++){
j = i + 1;
printf("\n Enter element %d: ", j);
scanf("%f", &arr[i]);
}
void print_value(double arr[], int n){
int i;
printf("{ ");
for (i = 0; i < n; i++){
printf("%f ", arr[i]);
}
printf("}");
void function_sort(double arr[] = {0}){
int i, j, temp, swapping;
for (i = 1; i < SIZE; i++){
swapping = 0;
for (j = 0; j < SIZE - i; j++){
if (arr[j] > arr[j + 1]){
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
swapping = 1;
}
}
if (swapping == 0){
break;
}
}
}
输出是这样的:
Enter the elements of Array 1:
Enter element 1: 1.5
Enter element 2: 2.5
Enter element 3: 3.25
Enter element 4: 2.25
Elements of Array 1: { 0.000000 0.000000 0.000000 321179424811157990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000 }
Sorted elements of Array 1: { 0.000000 0.000000 0.000000 321179424811157990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000 }
【问题讨论】:
-
老实说,这是一个可怕的缩进和格式
-
你在哪里打电话给
function_sort? -
@potato 对不起,我是新手
-
@babon 好吧,这真的没关系,但它在我的主要元素和元素之后。