gpt4 book ai didi

c - C中的冒泡排序为零

转载 作者:行者123 更新时间:2023-12-05 01:31:18 26 4
gpt4 key购买 nike

所以,我第一次在 C 中尝试冒泡排序,我的代码可以正常工作,但如果我输入 0 作为输入,排序会使其他所有内容都为 0。我不知道我的代码有什么问题。谢谢你。

/* Double-Click To Select Code */


#include<stdio.h>

void main()
{
int w,f,temp,j;
float arr[25];

printf("Enter the number of elements in the Array: ");
scanf("%d",&f);
printf("\nEnter the elements:\n\n");

for(w=0 ; w<f ; w++)
{
printf(" Array[%d] = ",w);
scanf("%f",&arr[w]);
}


for(w=0 ; w<f ; w++)
{
for(j=0 ; j<f-w-1 ; j++)
{
if(arr[j]>arr[j+1]) //Swapping Condition is Checked
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
printf("\nThe Sorted Array is:\n\n");
for(w=0 ; w<f ; w++)
{
printf(" %4f",arr[w]);
}
}

如果我输入说,
1.000
0.333
0

输出将是:0.000 0.000 1.000

最佳答案

我测试过。只需将 temp 的类型更改为 float 即可。这是有效的;

#include<stdio.h>

void main()
{
int w,f,j;
float arr[25],temp;

printf("Enter the number of elements in the Array: ");
scanf("%d",&f);
printf("\nEnter the elements:\n\n");

for(w=0 ; w<f ; w++)
{
printf(" Array[%d] = ",w);
scanf("%f",&arr[w]);
}


for(w=0 ; w<f ; w++)
{
for(j=0 ; j<f-w-1 ; j++)
{
if(arr[j]>arr[j+1]) //Swapping Condition is Checked
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
printf("\nThe Sorted Array is:\n\n");
for(w=0 ; w<f ; w++)
{
printf(" %4f",arr[w]);
}
system("pause");
}

关于c - C中的冒泡排序为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32933845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com