为一个冒泡排序程序设计测试用例。并测试之(C语言编程)

如题所述

以下是一个冒泡排序程序的示例代码,它可以对输入的任意数量整数进行排序:

```c
#include <stdio.h>

void bubble_sort(int list[], int n) {
int i, j, temp;
for(i = 0; i < n-1; i++) {
for(j = 0; j < n-i-1; j++) {
if(list[j] > list[j+1]) {
temp = list[j];
list[j] = list[j+1];
list[j+1] = temp;
}
}
}
}

int main() {
int n, i;
printf("请输入要排序的整数个数:");
scanf("%d", &n);

int list[n];
printf("请输入%d个整数:", n);
for(i = 0; i < n; i++) {
scanf("%d", &list[i]);
}

bubble_sort(list, n);

printf("排序后的结果是:");
for(i = 0; i < n; i++) {
printf("%d ", list[i]);
}

return 0;
}
```

接下来是测试用例,包括了多种情况,以验证算法在各种情况下的正常工作:

```c
#include <stdio.h>

int main() {
// 测试用例1:对3个整数进行排序
int list1[] = {2, 1, 3};
bubble_sort(list1, 3);
printf("测试用例1:[2, 1, 3] -> [1, 2, 3]
");
for(int i = 0; i < 3; i++) {
printf("%d ", list1[i]);
}
printf("

");

// 测试用例2:对10个整数进行排序
int list2[] = {56, 89, 17, 21, 2, 76, 12, 9, 47, 62};
bubble_sort(list2, 10);
printf("测试用例2:[56, 89, 17, 21, 2, 76, 12, 9, 47, 62] -> [2, 9, 12, 17, 21, 47, 56, 62, 76, 89]
");
for(int i = 0; i < 10; i++) {
printf("%d ", list2[i]);
}
printf("

");

// 测试用例3:对1个整数进行排序
int list3[] = {5};
bubble_sort(list3, 1);
printf("测试用例3:[5] -> [5]
");
for(int i = 0; i < 1; i++) {
printf("%d ", list3[i]);
}
printf("

");

return 0;
}
```

测试结果显示,算法可以正常地对数组进行排序。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-02
static void Main(string[] args)
{

int [] arrarys={12,78,89,45,56,263,15,05,26,35};
for (int i = 0; i < arrarys.Length; i++)
{
for (int j = 0; j < i; j++)
{
if(arrarys[i]>arrarys[j])
{
int emp = 0;
emp = arrarys[i];
arrarys[i] = arrarys[j];
arrarys[j] = emp;
}
}
}
foreach (int arr in arrarys)
{
Console.Write(arr);
Console.WriteLine();
}
Console.ReadKey();
}
第2个回答  2011-05-29
#include"stdio.h"
main()
{
int a[10],i,j,k;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<100;j++)
for(i=0;i<9;i++)
if(a[i]>a[i+1])
{k=a[i];a[i]=a[i+1];a[i+1]=k;}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}本回答被提问者采纳
相似回答