龟儿子苓膏 2021-12-15 09:38 采纳率: 81.3%
浏览 25
已结题

编程循环实现:提示用户输入数组大小,用malloc函数分配内存空间储存用户输入的数组元素,排序后输出,最后用free函数清除内存。当用户输入数组大小为0时退出程序

如题,要求排序输出后,数组的元素数据类型为保留两位的小数,补充:程序不断循环输入输出,直到输入数组大小为0时停止

  • 写回答

1条回答 默认 最新

  • a5156520 2021-12-15 12:43
    关注

    一个简单的实现:

    
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void){
        
        double * num;
        int  len;
        
        printf("请输入数组大小(输入0退出):");
        scanf("%d",&len);
        while(len>0){
            num = (double *) malloc((sizeof (double))*len);
        
            int i;
            printf("请输入数组的%d个元素:\n",len); 
            for(i=0;i<len;i++){
                scanf("%lf",&num[i]);
            } 
            
            //排序数组 
            int j;
            double temp;
            for(i=0;i<len-1;i++){
                for(j=i+1;j<len;j++){
                    if(num[i]>num[j]){
                        temp=num[i];
                        num[i] =num[j];
                        num[j] = temp;
                    }
                }
            }
            
            //打印数组 
            for(i=0;i<len;i++){
                printf("%.2lf ",num[i]);
            }
            printf("\n");
            
            //释放 内存 
            free(num);
            printf("请输入数组大小(输入0退出):");
            scanf("%d",&len);
        }
    
        
        return 0;
    } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 创建了问题 12月15日

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?