访问数组中的元素的方式:
array[i] <==> *(array+i)
#include<stdio.h>
#include<stdlib.h>
#define number 10
//交换数值
void swap(double *p1, double *p2);
int main(void)
{
double array[number];
int i, j, order=0;
//输入
printf("请输入%d个实型数据:\n", number);
for(i=0; i<number; ++i) {
scanf("%lf", array+i);
}
//冒泡排序
for(i=0; i<number; ++i){
order = 0;
for(j=0; j<number-1-i; ++j){
if(*(array+j) > *(array+j+1))
swap(array+j, array+j+1);
order = 1;
}
if(!order) break;
}
//输出
printf("按从小到大顺序排列为:\n");
for(i=0; i<number; ++i) {
printf("%g ", *(array+i));
}
printf("\n");
system("pause");
return 0;
}
void swap(double *p1, double *p2)
{
double t;
t = *p1;
*p1 = *p2;
*p2 = t;
}
本文介绍了一种访问数组元素的方法,并通过一个示例程序详细展示了如何使用C语言实现冒泡排序算法对数组进行排序。该程序首先读取用户输入的一系列实数,然后使用冒泡排序将这些数值按升序排列,最后输出排序后的结果。

1722

被折叠的 条评论
为什么被折叠?



