為什么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;
}
2020-02-25
double肯定可以啊,精度比float更高,你可能是哪里弄錯了吧
2020-02-24
double精度更高吧
2020-02-24
double的精度不是更高嗎