早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

阅读以下说明和C程序,填入(n)外。 [说明] 以下C程序实现了将字符串转化为浮点数的功能。例如字符串

题目

阅读以下说明和C程序,填入(n)外。

[说明]

以下C程序实现了将字符串转化为浮点数的功能。例如字符串“1234567”转化为浮点数1234567;字符串“100.02035”转化为浮点数100.02035;字符串“-100.02035”转化为浮点数-100.02035。程序中的部分变量的含义如表9-5。

[C程序]

double StrToDouble(char*s)

{

char hexch[]="0123456789";

int i,j,psign=1;

DWORD n,k,intpart=0;

double doublepart=0,kdouble,resoult;

char ch;

if (*s=="."

{

(1);

(2);

}

char*s1=s,*temp=NULL;

temp=strrchr ( s1,"." );

if (!temp)

{

k=1; intpart=0;

for (i=strlen (s); i>0;i--)

{

ch=s[i-1];

if (ch>0x3f) ch&=0xDF;

n=0;

for (j=0; j<10; j++)

if ( ch==hexch[j]) n=j;

intpart+= (n*k);

k*=10;

}

}

else

{

s1=temp+1;

kdouble=0.1;

doublepart=0;

for ((3))

{

ch=s1[i-1];

if (ch>0x3f) ch&=0xDF;

n=0;

for (j=0; j<10; j++ )

if (ch==hexch[j])

n=j;

doublepart+= (n*kdouble);

(4);

}

*temp=NULL;

k=1; intpart=0;

for ((5);)

{

ch=s[i-1];

if (ch>0x3f) ch&=0xDF;

n=0;

for (j=0; j<10; j++)

if (ch==hexch[j]) n=j;

intpart+= (n*k);

k*=10;

}//end else

}

(6);

return resoult;

}

参考答案
正确答案:(1)psign=-1 (2)s=(s+1) (3)i=1; i=strlen(s1); i++ (4)kdouble*=0.1; (5)i=strlen(s); i>0;i- (6)resoult=(intpart+doublepart)*psign
(1)psign=-1 (2)s=(s+1) (3)i=1; i=strlen(s1); i++ (4)kdouble*=0.1; (5)i=strlen(s); i>0;i- (6)resoult=(intpart+doublepart)*psign 解析:本题实现了数字字符串转换成浮点数的程序设计。程序中含空的语句功能分别是:(1)记录符号。如“-0.01”。(2)将字符串中的“-”号剔除;(3)转换所有小数部分;(4)记录小数点阶数;(5)转换所有整数部分;(6)整合小数和整数部分。
看了阅读以下说明和C程序,填入(n...的网友还看了以下: