《C语言及程序设计》实践参考——动态数组排序

简介: 返回:贺老师课程教学链接【项目2-动态数组排序】编一个程序,输入某班某门课的成绩,进行排序后输出。成绩可能为小数。班级人数不定,要求采用动态数组完成。在下面代码基础上完成#include<stdio.h> #include<malloc.h> int main() { int count, i,j; float *pf;

返回:贺老师课程教学链接


【项目2-动态数组排序】
编一个程序,输入某班某门课的成绩,进行排序后输出。成绩可能为小数。班级人数不定,要求采用动态数组完成。在下面代码基础上完成
#include<stdio.h>  
#include<malloc.h>  
int main()  
{  
    int count, i,j;  
    float *pf;  
    scanf("%d", &count);   //输入班级人数  
    //分配空间,用动态数组存储全班同学成绩  
       
    //输入同学们的成绩  
       
    //排序  
  
    //输出排序后的成绩  
  
    free(pf);  
    return 0;  
}  

[参考解答]
#include<stdio.h>  
#include<malloc.h>  
int main()  
{  
    int count, i,j,r;  
    float *pf, tmp;  
    scanf("%d", &count);   //输入班级人数  
    //分配空间,用动态数组存储全班同学成绩  
    pf = (float*) malloc( sizeof(float) * count );  
    //输入同学们的成绩  
    for ( i = 0; i < count; i++ )  
    {  
        scanf("%f", pf+i);  
    }  
    //排序  
    for(j=count-1; j>0; j--)  //冒泡法  
    {  
        for(r=0; r<j; r++)  
        {  
            if(*(pf+r)>*(pf+r+1)) //或pf[r]>pf[r+1],下面*(pf+r)类似  
            {  
                tmp = *(pf+r);  
                *(pf+r) = *(pf+r+1);  
                *(pf+r+1) = tmp;  
            }  
        }  
    }  
    //输出排序后的成绩  
    for ( i = 0; i < count; i++ )  
    {  
        printf("%f\n", *(pf+i));  
    }  
    free(pf);  
    return 0;  
} 


目录
相关文章
|
1月前
|
C语言
C语言模块化程序设计
C语言模块化程序设计
21 0
|
1月前
|
C语言
【C语言】循环结构程序设计(第二部分 -- 习题讲解)
【C语言】循环结构程序设计(第二部分 -- 习题讲解)
C4.
|
1月前
|
程序员 C语言
C语言循环结构与程序设计
C语言循环结构与程序设计
C4.
23 0
|
20天前
|
程序员 C语言
【C语言实战项目】通讯录(动态增容版)
【C语言实战项目】通讯录(动态增容版)
19 0
|
21天前
|
搜索推荐 算法 编译器
【C语言】qsort()函数详解:能给万物排序的神奇函数
【C语言】qsort()函数详解:能给万物排序的神奇函数
41 0
|
28天前
|
存储 文件存储 C语言
《C语言程序设计》课程设计 -- 火车票票务管理系统
《C语言程序设计》课程设计 -- 火车票票务管理系统
23 1
|
29天前
|
存储 C语言
C语言顺序结构程序设计
C语言顺序结构程序设计
21 0
|
1月前
|
存储 C语言
C语言的顺序程序设计
C语言的顺序程序设计
11 2
|
1月前
|
存储 C语言
C语言的顺序程序设计
C语言的顺序程序设计
14 0
|
1月前
|
C语言
【C语言】用函数实现模块化程序设计
【C语言】用函数实现模块化程序设计