第一种,推荐:
#include <stdio.h>
int sequence(float a[], int num)
{
int i,j;
float tmp;
{
int i,j;
float tmp;
for(i = 0; i < num - 1; i++)
{
for(j = i + 1; j < num; j++)
{
if(a[i] > a[j])
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
}
{
for(j = i + 1; j < num; j++)
{
if(a[i] > a[j])
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
}
return 0;
}
int main(int argc, char *argv[])
{
int i,j;
int num = 0;
{
int i,j;
int num = 0;
float a[100] = {0};
printf("共需要输入多少个数字:\n");
scanf("%d",&num);
scanf("%d",&num);
printf("依次输入数字:\n");
for(i = 0; i < num; i++)
{
scanf("%f",&a[i]);
}
sequence(a,num);
printf("从小到大排序后结果为:\n");
for(j = 0; j < num; j++)
{
printf("%g ",a[j]);
}
printf("\n");
for(j = 0; j < num; j++)
{
printf("%g ",a[j]);
}
printf("\n");
return 0;
}
}
第二种,参考:
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
float myAtof(char *ptr)
{
float s = 0.0;
float d = 10.0;
int Flag = 0;
{
float s = 0.0;
float d = 10.0;
int Flag = 0;
while (*ptr == ' ')
ptr++;
ptr++;
if (*ptr == '-')
{
Flag = 1;
ptr++;
}
{
Flag = 1;
ptr++;
}
if (!(*ptr >= '0' && *ptr <= '9'))
return s;
return s;
// 计算整数部分
while (*ptr >= '0' && *ptr <= '9' && *ptr != '.')
{
while (*ptr >= '0' && *ptr <= '9' && *ptr != '.')
{
s = s*10.0 + (*ptr) - '0';
ptr++;
}
ptr++;
}
if (*ptr == '.')
ptr++;
ptr++;
while (*ptr >= '0' && *ptr <= '9')
{
s = s + (*ptr - '0') / d;
d *= 10.0;
ptr++;
}
{
s = s + (*ptr - '0') / d;
d *= 10.0;
ptr++;
}
return s*(Flag ? -1.0 : 1.0);
}
void BubbleSort(float arr[], int len)
{
int i, j;
for (i = 0; i < len - 1; i++)
{
for (j = 0; j < len - i - 1; j++)
{
float tmp;
if (arr[j] > arr[j + 1])
{
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
{
int i, j;
for (i = 0; i < len - 1; i++)
{
for (j = 0; j < len - i - 1; j++)
{
float tmp;
if (arr[j] > arr[j + 1])
{
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main(int argc, char *argv[])
{
int i, j;
float *a = (float *)malloc(sizeof(float)*(argc - 1));
for (i = 0, j = 1; j < argc; j++, i++)
{
a[i] = myAtof(argv[j]);
}
BubbleSort(a, argc - 1);
for (i = 0; i < argc - 1;i++)
{
printf("%g ", a[i]);
}
printf("\n");
{
int i, j;
float *a = (float *)malloc(sizeof(float)*(argc - 1));
for (i = 0, j = 1; j < argc; j++, i++)
{
a[i] = myAtof(argv[j]);
}
BubbleSort(a, argc - 1);
for (i = 0; i < argc - 1;i++)
{
printf("%g ", a[i]);
}
printf("\n");
free(a);
return 0;
}