C语言编写计算double变量中有几个零

来源:百度知道 编辑:UC知道 时间:2024/06/23 21:45:26
请高手帮忙
编写程序中对double变量计算零的个数

#include<stdio.h>
#include<stdlib.h>

int Double_Zero_Acc(double data);

main()
{
double data = 50.440650000003;
int Acc = 0;

Acc = Double_Zero_Acc(data);
printf("Double data : %.15g\nZero account : %d\n",data,Acc);
getch();
}

int Double_Zero_Acc(double data)
{
char *pi = NULL,*str_for_doub = NULL;
int Acc = 0;

if( NULL != (pi = (char *)malloc(sizeof(char) * 50)) )
{
str_for_doub = pi;
sprintf(str_for_doub,"%.15g",data);
while(*str_for_doub != '\0')
{
if(*str_for_doub++ == '0')
Acc++;
}
}
else
Acc = -1;

free(pi);

return (Acc);
}

/*以上程序为本人设计,注意Double数据长度不能超过15。*/

默认6个的吧,自己printf输出看看