#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
main()
{
int a,b,c,n;
char x[100];
while(scanf("%d",&n)==1)
{
double ans=0;
for(b=0;b<n;b++)
{
double temp=1,sum=0,temp2=1/2.0,sum2=0,temp3=1;
scanf("%s",x);
printf("字串%d %s ",b+1,x);
for(a=8;a>=1;a--)
{
sum=sum+(x[a]-48)*temp;
temp=temp*2;
}
sum=sum-127;
for(a=0;a<sum;a++)
temp3=temp3*2;
for(a=9;a<=30;a++)
{
sum2=sum2+(x[a]-48)*temp2;
temp2=temp2/2.0;
}
sum2=sum2+1;
sum2=sum2*temp3;
temp=sum2;
if(x[0]=='1') sum2=sum2*(-1);
printf("= %g\n",sum2);
ans=ans+sum2;
}
printf("總和為%g\n",ans);
}
return 0;
}
與正確輸出不相符(line:10)
您的答案為: 總和為2.47019e+07
正確答案為: 總和為2.47027e+07
為什麼會有這個誤差呢?
已解決
沒想到要連前面的值都加
已解決
沒想到要連前面的值都加
我也有一樣的問題= ="""...
前面的值都要加是什麼意思@@?
已解決
沒想到要連前面的值都加
我也有一樣的問題= ="""...
前面的值都要加是什麼意思@@?
已解決
沒想到要連前面的值都加
我也有一樣的問題= ="""...
前面的值都要加是什麼意思@@?
我沒去看我以前的代碼, 我想我的意思是,
總和是累計全部測資的, 並不是單個測資
我沒去看我以前的代碼, 我想我的意思是,
總和是累計全部測資的, 並不是單個測資
我沒去看我以前的代碼, 我想我的意思是,
總和是累計全部測資的, 並不是單個測資
怕有些人看不懂,我舉個例子
以題目的測資來說
若輸入
2 01000011110001000111100000000000 11000010101000101011000010000000 1 01000011110001000111100000000000
則想要ac的話,輸出應為
字串1 01000011110001000111100000000000 = 392.938 字串2 11000010101000101011000010000000 = -81.3447 總和為311.593 字串1 01000011110001000111100000000000 = 392.938 總和為704.53
注意第二個總合跟範例輸出完全不同
他的總和是,所有字串的總和