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

编程循环实现:提示用户输入数组大小,用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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录