【发布时间】:2017-07-23 12:59:03
【问题描述】:
我一直在试验冒泡排序代码,因为我最近开始了解 C 代码。但是,我无法将 NAN 输入到代码中,以便在构建和运行它时打印出来。我对 INFINITY 和 -INFINITY 有同样的问题。但是,当我运行代码并输入 NAN、INFINITY 和 -INFINITY 作为整数之一时,该代码可以工作。我们将不胜感激,谢谢。
/* Bubble sort code */
#include <stdio.h>
#include <math.h>
int main()
{
float array[100], swap;
int c, d, n;
printf("Enter number of elements\n");
scanf("%d", &n);
printf("Enter %d integers\n", n);
for (c = 0; c < n; c++)
scanf("%f", &array[c]);
for (c = 0; c < (n - 1); c++)
{
for (d = 0; d < n - c - 1; d++)
{
if (array[d] > array[d + 1]) /* For decreasing order use < */
{
swap = array[d];
array[d] = array[d + 1];
array[d + 1] = swap;
}
}
}
printf("Sorted list in ascending order:\n");
for (c = 0; c < n; c++)
printf("%f\n", array[c]);
return 0;
}
【问题讨论】:
-
scanf("%d", &n) 读取的字符串与宏非常不同...
-
将排序分解为一个函数。现在您可以手动设置一个数组并对其进行测试。