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

来源:6-12 综合练习

肆意思

2020-02-24 18:10

#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;
}

写回答 关注

3回答

  • Mr小超ya
    2020-02-25 13:02:57

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


  • WE_Xing
    2020-02-24 21:42:52

    double精度更高吧

  • WE_Xing
    2020-02-24 21:41:20

    double的精度不是更高吗

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题