1.输入m个浮点数,然后按升序进行排列输出
解析:首先是输入,输入的时候使for循环,并且以’\n’也就是回车作为循环的结束条件
其次就是排序,我使用的是冒泡排序,也就是双重循环,并设置一个临时的替代数,便于排序时的转换。
#include
void sort(float flo[], int m);
/* 输入m个浮点数,然后按升序进行排列输出 */
int main(void)
{
int i,m = 0;
float flo[100];
char ch;
printf("请输入浮点数:\n");
for ( i = 0; ch != '\n'; i++ ) //回车作为循环结束条件
{
scanf("%f", &flo[i]);
ch = getchar();
m++;
}
sort(flo, m);
printf("以升序排列后:\n");
for ( i = 0; i < m; i++ )
printf("%5.2f\n", flo[i]);
return 0;
}
void sort(float flo[], int m)
{
int i, j;
float tmp;
for ( i = 0; i < m-1; i++ ) //冒泡排序
{
for ( j = 0; j < m-i-1; j++ )
{
if ( flo[j] > flo[j+1] )
{
tmp = flo[j];
flo[j] = flo[j+1];
flo[j+1] = tmp;
}
}
}
}
#include
#include
#define N 10
float aver(int a[]);
int search(int a[], float average); //寻找与平均数最接近的数
int main(void)
{
int a[N], i, tmp = 0, sum = 0;
float average;
printf(