如题,要求排序输出后,数组的元素数据类型为保留两位的小数,补充:程序不断循环输入输出,直到输入数组大小为0时停止
一个简单的实现:
#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;
}