ʕ̢̣̣̣̣̩̩̩̩·͡˔·梦生 2021-07-08 16:02 采纳率: 83.3%
浏览 22
已结题

C语言程序编程看一下什么地方写错了

输入20个实数到数组k中,按大到小的顺序输出

看一下,我哪里写错了呀

代码如下:
#include <stdio.h>
main()
{
float k[28];
int i,j;
for(i=0; i<28; i++)
scanf("%f",&k[i]);
for(i=0; i<28; i++)
for(j=i; j<28; j++)
if(k[i]>k[j])
k[i]=k[j];
for(i=0; i<28; i++)
printf("%f ",k[i]);
}

  • 写回答

2条回答 默认 最新

  • 浪客 2021-07-08 16:05
    关注

    if(k[i]>k[j])
    k[i]=k[j];
    if中要交换k[i],k[j]的值,你把k[j]赋值给k[i]了,原来在k[i]中的数据丢失了。

    if(k[i]<k[j])
    {
      float t=k[i];
      k[i]=k[j];
      k[j]=t;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?