[語法] 請問為何結果與直觀的想法不符..有人知 …
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{
int n,i,j;
double zero[n], fr[n][n];
printf("請輸入期數:\n");
scanf("%d",&n);
for (i=1;i<=n;i++)
{
printf("請輸入%d期的 zero spread:\n",i);
scanf("%lf",&zero[i-1]);
}
for (j=0;j<n;j++)
{fr[0][j+1] = zero[j];}
for (i=0;i<n;i++)
{fr[i][i] = 0;}
for(i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
printf("f(%d,%d)=%f,zero[%d]=%f\n",i,j,fr[i][j],i,zero[i]);
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
我輸入以下的資料
n=4; zero[0] = 0.01; zero[1]= 0.02; zero[2]=0.03; zero[3]=0.04;
最後的結果出現的很奇怪..
f(0,0)=0.00,zero[0]=0.00
f(0,1)=0.01,zero[0]=0.00
f(0,2)=0.02,zero[0]=0.00
f(0,3)=0.00,zero[0]=0.00 直覺上應該是 f(0,3) = 0.03
f(1,1)=0.00,zero[1]=0.02
f(1,2)=0.04,zero[1]=0.02 直覺上應該是 f(1,2) = 0.00
f(1,3)=0.00,zero[1]=0.02
f(2,2)=0.00,zero[2]=0.03
f(2,3)=0.02,zero[2]=0.03 直覺上應該是 f(2,3) = 0.00
f(3,3)=0.00,zero[3]=0.00 直覺上應該是 zero[3] = 0.04
請問有人清楚是什麼問題嗎..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.225.101.59
※ 編輯: u881331 來自: 125.225.101.59 (07/07 13:02)
※ 編輯: u881331 來自: 125.225.101.59 (07/07 13:04)
→
07/07 13:12, , 1F
07/07 13:12, 1F
→
07/07 13:12, , 2F
07/07 13:12, 2F
推
07/07 14:02, , 3F
07/07 14:02, 3F
→
07/07 14:04, , 4F
07/07 14:04, 4F
推
07/07 14:09, , 5F
07/07 14:09, 5F
推
07/07 14:16, , 6F
07/07 14:16, 6F
→
07/07 14:26, , 7F
07/07 14:26, 7F
推
07/07 14:54, , 8F
07/07 14:54, 8F
→
07/07 14:55, , 9F
07/07 14:55, 9F
→
07/07 15:16, , 10F
07/07 15:16, 10F
→
07/07 15:17, , 11F
07/07 15:17, 11F
推
07/07 16:48, , 12F
07/07 16:48, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章