for(i=0i<strlen(encrypt)i++)
fscanf(kptr,"%d ",&key[i])
for(i=0(ch=fgetc(kptr)) != EOFi++) // 搞不懂ch=fgetc(kptr)是干吗的,下面不是已经fscanf(kptr, "%d ", &key[i])读入key了吗。ch=fgetc(kptr)会使文件流指针偏移,下面的fscanf(kptr, "%d ", &key[i])读的就不是正确结果了。
之前答过这题。。这里。
以下是代码:
#include <iostream>#include <iomanip>
using namespace std
int main()
{
long n
int index
cin>>hex
cin>>n
index = (n & 0x000000f0) >> 4 //获取指数
n = (n & 0x0000000f) << 24 | (n & 0x0000ff00) << 8 | (n & 0x00ff0000) >> 8 | (n & 0xff000000) >> 24 //获取有效数
if(index > 8)
{
index = index - 8
double result = n
for(int i = 0 i < index i ++)
{
result = result / 10
}
int width = 8
if((int)result != result)
{
width += 1
}
cout<<setprecision(width)<<result<<endl
} else if(index < 8)
{
for(int i = 0 i < index i ++)
{
n = (n << 3) + (n << 1)
}
cout<<n<<endl
} else
{
cout<<n<<endl
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)