永发信息网

将4个浮点数排序:

答案:4  悬赏:20  手机版
解决时间 2021-02-03 13:30
  • 提问者网友:鼻尖触碰
  • 2021-02-03 09:50
#include<stdio.h>
int main() {
float a[4];
int i,j,k,c;
for(c=0;c<4;c++)
{scanf("%f",&a[c]);
}
for(i=0;i<4-1;i++)
{for(j=1;j<4-i;j++)
if(a[j-1]>a[j]) swap(a[j-1],a[j]);
}
for(k=0;k<4;k++)
{printf("%f ",a[k]);}
while(1);
}
哪不对?
最佳答案
  • 五星知识达人网友:你哪知我潦倒为你
  • 2021-02-03 11:26
两个错,
第一,swap函数根本不存在,怎么使用
第二,最后的一个死循环,没有意义

#include<stdio.h>
int main()
{
void swap(float *a,float *b);
float a[4];
int i,j,k,c;
for(c=0;c<4;c++)
{
scanf("%f",&a[c]);
}
for(i=0;i<4-1;i++)
{
for(j=1;j<4-i;j++)
if(a[j-1]>a[j])
swap(&a[j-1],&a[j]);
}
for(k=0;k<4;k++)
{
printf("%f ",a[k]);
}
}
void swap(float *a,float *b)
{
float t;
t=*a;
*a=*b;
*b=t;
}
全部回答
  • 1楼网友:千夜
  • 2021-02-03 14:43
你这样写就可以了啊:运行结果肯定没有问题的啊 #include<stdio.h> int main() { float a[4],t; int i,j,k,c; for(c=0;c<4;c++) {scanf("%f",&a[c]);} for(i=0;i<4-1;i++) for(j=0;j<4-i-1;j++) if(a[j]>a[j+1]) {t = a[j]; a[j] = a[j+1]; a[j+1] = t; } for(k=0;k<4;k++) {printf("%f ",a[k]);} return 0; }
  • 2楼网友:时间的尘埃
  • 2021-02-03 13:18
#include<stdio.h> int main() { float a[4]; float max; int i,j; for(i=0;i<4;i++) { scanf("%f",&a[i]); } for(i=0;i<4-1;i++) { for(j=0;j<4-1;j++) { if (a[j]<a[j+1]) { max=a[j]; a[j]=a[j+1]; a[j+1]=max; } } } for(i=0;i<4;i++) { printf("%f",a[i]); } return 0; } 没有swap函数,主函数要加上返回值。。死循环没意义
  • 3楼网友:白昼之月
  • 2021-02-03 12:01
完整代码贴一下
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯