离开以后 » 日志 » "C程序设计语言"练习题解答(Updating...)
"C程序设计语言"练习题解答(Updating...)
yayj 发表于 2005-10-22 20:32:12
#include <string.h> int strrindex(char *s, char * t) { int i, j, k; int sl = strlen(s), tl = strlen(t); if (sl <> return -1; for (i = sl - 1; i >= tl - 1; --i) { for (j = i, k = tl - 1; k > 0 && s[j] == t[k]; --j, --k) ; if (k == 0 && s[j] == t[k]) return i - tl + 1; } return -1; } #include <ctype.h> double atof(char *s) { double val, power1, power2; int i, j, bsign, psign; for (i = 0; isspace(s[i]); ++i) ; bsign = (s[i] == '-') ? -1 : 1; if (s[i] == '+' || s[i] == '-') ++i; for (val = 0.0; isdigit(s[i]); ++i) val = 10.0 * val + (s[i] - '0'); if (s[i] == '.') ++i; for (power1 = 1.0; isdigit(s[i]); ++i) { val = 10.0 * val + (s[i] - '0'); power1 *= 10.0; } if (s[i] == 'e' || s[i] == 'E') { psign = (s[++i] == '-') ? 1 : 0; if (s[i] == '+' || s[i] == '-') ++i; for (j = 0, power2 = 1.0; j < (int)atof(s + i); ++j) power2 *= 10.0; if (psign) power1 *= power2; else power1 /= power2; } return bsign * val / power1; } 没做.....第4章 函数与程序结构
