请高手给予程序讲解,特别对于if(f){x=x*10+c;} else{y=y+c/t;t=t*10;}} double fun(char*s) { double x=0,y=0,t=10; int c,f=1; while(*s) { if(*s=='.') f=0; else { c=*s-'0';if(f){x=x*10+c;}else{y=y+c/t;t=t*10;}}s++;}return x+y;}
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 22:29:50
![请高手给予程序讲解,特别对于if(f){x=x*10+c;} else{y=y+c/t;t=t*10;}} double fun(char*s) { double x=0,y=0,t=10; int c,f=1; while(*s) { if(*s=='.') f=0; else { c=*s-'0';if(f){x=x*10+c;}else{y=y+c/t;t=t*10;}}s++;}return x+y;}](/uploads/image/z/11517967-55-7.jpg?t=%E8%AF%B7%E9%AB%98%E6%89%8B%E7%BB%99%E4%BA%88%E7%A8%8B%E5%BA%8F%E8%AE%B2%E8%A7%A3%2C%E7%89%B9%E5%88%AB%E5%AF%B9%E4%BA%8Eif%28f%29%7Bx%3Dx%2A10%2Bc%3B%7D+else%7By%3Dy%2Bc%2Ft%3Bt%3Dt%2A10%3B%7D%7D+double+fun%28char%2As%29+%7B+double+x%3D0%2Cy%3D0%2Ct%3D10%3B+int+c%2Cf%3D1%3B+while%28%2As%29+%7B+if%28%2As%3D%3D%27.%27%29+f%3D0%3B+else+%7B+c%3D%2As-%270%27%3Bif%28f%29%7Bx%3Dx%2A10%2Bc%3B%7Delse%7By%3Dy%2Bc%2Ft%3Bt%3Dt%2A10%3B%7D%7Ds%2B%2B%3B%7Dreturn+x%2By%3B%7D)
请高手给予程序讲解,特别对于if(f){x=x*10+c;} else{y=y+c/t;t=t*10;}} double fun(char*s) { double x=0,y=0,t=10; int c,f=1; while(*s) { if(*s=='.') f=0; else { c=*s-'0';if(f){x=x*10+c;}else{y=y+c/t;t=t*10;}}s++;}return x+y;}
请高手给予程序讲解,特别对于if(f){x=x*10+c;} else{y=y+c/t;t=t*10;}}
double fun(char*s) { double x=0,y=0,t=10; int c,f=1; while(*s) { if(*s=='.') f=0; else { c=*s-'0';
if(f){x=x*10+c;}
else{y=y+c/t;t=t*10;}}
s++;}
return x+y;}
请高手给予程序讲解,特别对于if(f){x=x*10+c;} else{y=y+c/t;t=t*10;}} double fun(char*s) { double x=0,y=0,t=10; int c,f=1; while(*s) { if(*s=='.') f=0; else { c=*s-'0';if(f){x=x*10+c;}else{y=y+c/t;t=t*10;}}s++;}return x+y;}
double fun(char*s)
{
double x=0,y=0,t=10;
//t表示小数数字转换为该位等价大小的比例(如在百分位
//则该位等价大小value 为value= c * 0.01,故t = 0.01
int c,f=1; //c表示该位的数字;f=1表示计算整数部分,反之为小数部分
while(*s)
{
if(*s=='.')
f=0;
else
{
c=*s-'0'; //字符转换成数字
if(f)
{
x=x*10+c; //整数部分 = 前一次整数部分大小 * 10 + 该位数字大小
}
else
{
y=y+c/t; //小数部分 = 前一次小数部分大小 + 新读到的位的等值大小
t=t*10;
}
}
s++;
}
return x+y;
}
/*关于整数部分的计算,假设整数部分为321,则计算过程如下:
Step1:value = 3
Step2:value = 3*10+2=32
Step3:value = 32*10+1=321*/
gggggggggggggggg
所以xyz=100z+10y+z 这个。。举例说明:设三位数987 不是等于9*100+8*10+7么 通常情况下 我们采用十进制计数 z、y、x分别是三个数字