程式一:atof函式的簡單實現
解法思路很簡單,就不多說
double atof(char s)
return sign * val / power;
}
程式二:對atof函式進行擴充,使它可以處理形如123.45e-6的科學表示法,其中,浮點數後面可能會緊跟乙個 e或e一級乙個指數(可能有正負號)
解法一:順著上體接著遍歷就好
#include #include #include double myatof(char s)
if (toupper(s[i++]) == 'e')
/*這裡換為int vale怎麼樣*/
vale = pow(10,exp);
if (signe == 1)
return sign * vale * val / power;
else
return sign * val / power / vale;
} else
return sign * val / power;
}
解法二:思路也簡單,看看答案的解法,學習學習別人的寫法及測試就好了
#include #include #include #include #include int my_atof(char *string, double *pnumber)
if (string == 0)
retval = zero;
num = string;
/* advance past white space. */
while (isspace(*num))
num++;
/* check for sign. */
if (*num == '+')
num++;
else if (*num == '-')
/* calculate the integer part. */
while (isdigit(*num))
/* calculate the fractional part. */
if (*num == '.')
}/* if this is not a number, return error condition. */
if (!found_digits)
/* if all digits of integer & fractional part are 0, return 0.0 */
if (retval == zero)
/* process the exponent (if any) */
if ((*num == 'e') || (*num == 'e'))
/* what if the exponent is empty? return the current result. */
if (!isdigit(*num))
/* convert char exponent to number <= 2 billion. */
while (isdigit(*num) && (exponent < long_max / 10))
/* compensate for the exponent. */
if (neg_exponent)
else
retval *= one_tenth;
} else
for (index = 1; index <= exponent && !get_out; index++)
else
retval *= ten;}}
if (is_negative)
retval = -retval;
*pnumber = retval;
return (1);
}double atof(char *s)
return d;
}char *strings = ;
int main(void)
從0開始《九》 字串相關 grep函式的簡單實現
程式一 grep函式的簡單實現 思路 先看流程,其中可用前面的getline實現未處理的行,然後編寫函式strindex s,t 實現該目標,至於列印部分使用printf函式即可 while 還有未處理的行 include define maxline 1000 int getline char l...
從0開始的Python學習007函式 函式柯里化
簡介 函式是可以重用的程式段。首先這段 有乙個名字,然後你可以在你的程式的任何地方使用這個名稱來呼叫這個程式段。這個就是函式呼叫,在之前的學習中我們已經使用了很多的內建函式像type range 通過關鍵字def定義函式 def 函式名 引數 塊乙個簡單的函式 def sayhello print ...
從0開始學Python Python的基本語法
一 資料型別 1.字串 string 不可變 1 合併字串 合併字串 2 常用內建函式 python3 字串 菜鳥教程 www.runoob.com 3 格式化字串 格式化字串 使用變數格式化字串分 2.數值 number 不可變 1 整型 int 2 浮點型 float 3.元祖 tuple 不可...