为了账号安全,请及时绑定邮箱和手机立即绑定

为什么float就可以算出来,double却算不出来 算出来的值为1717986918

#include <stdio.h>

void paixu(int score[])
{
    int max=0,i,j;
    for(i=9;i>=0;i--)
    {
        for(j=0;j<i;j++)
        {
            if(score[j]>score[j+1])
            {
                max=score[j];
                score[j]=score[j+1];
                score[j+1]=max;
            }
        }
    }
};

int main()
{
    int score[10]={67,98,75,63,82,79,81,91,66,84};
    int zf=0,zg=0,zd=1024;
    float pj;
    int jx[10];
    int i;
    
    paixu(score);
    for(i=0;i<10;i++)
    {
        zf+=score[i];
    }
    zg=score[9];
    zd=score[0];
    pj=zf/10.0;
    printf("考试的总分:%d \n最高分:%d \n最低分:%d \n平均分:%.2f \n考试排序:",zf,zg,zd,pj);
    
    for(i=0;i<10;i++)
    {
        printf("%d ",score[i]);
    }
    
    return 0;
}

正在回答

4 回答

double肯定可以啊,精度比float更高,你可能是哪里弄错了吧


0 回复 有任何疑惑可以回复我~

double精度更高吧

0 回复 有任何疑惑可以回复我~

double的精度不是更高吗

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么float就可以算出来,double却算不出来 算出来的值为1717986918

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信