以下是《计算单位阶跃响应的上升时间》的部分源程序:5 ~; y. X+ ]/ y3 J- l6 J* f7 @" C
& w5 f$ P# }2 }
# include <stdio.h>2 x) ~. h( B/ h* K
# include <malloc.h>' @! ~0 P+ a: P2 [9 S
# include <stdlib.h>8 S* Z+ ~7 z9 P q, B$ W1 D
7 O2 M5 F ^& i, [/* & ]$ q L* o; u: w+ f' \1 F** delta---抽样时间间隔;tr---响应的上升时间;n---抽样数;f(i)---抽样数组。 # _7 n/ w2 k- i1 F& C0 N*/# j* j% b; _6 v3 R/ q
4 c: ?6 U; y+ N _
void get_data(float * pf, int n); ) C1 F. K/ h9 u! oint main(void) : @5 w0 B( P$ V0 L9 K' |8 V{ 7 z9 R( T- |( U6 ` int i;6 ^8 F7 K0 Q# C2 ~" A5 {3 v8 ?
int n; # p$ {3 Y& } u9 e+ D" ~ float delta; E, o. n) \* x$ Y0 z
float * pf = NULL;% }% o8 j7 K2 b) p H: C
! v. b9 q4 J% a. D4 g- g4 T
printf( "请如入抽样数: n = " ); 3 z$ L2 f h. D0 E scanf( "%d", &n );! }; g* P, {6 v* S6 F8 `9 i
printf( "请输入抽样时间间隔: delta = " );+ L, |% h/ X3 L
scanf( "%f", &delta ); * [" }, J; ~5 |: a/ S! M% Y5 y2 A printf( "请输入抽样数组: f(i)\n" ); 2 i# v4 y" r5 d" K9 y, N 8 Z" p9 x" K3 i# f pf = ( float * )malloc( n * sizeof(float) );" p8 V& A, L4 g
! z3 ?; p! `) k if (NULL == pf) j' G: o7 R1 ^4 w) R+ L5 J
{: H* o+ j% r% g( W
printf( "动态内存分配失败!\n" );' R; u( f3 m1 `) V8 ]
exit(-1); / I) a3 I" s! E }$ W; j) e6 W }6 i; K3 E* I0 T: K7 d% L
. R. `$ c( S8 b) S get_data(pf, n);3 `- ^( D5 O: k9 A( M0 \2 _
; q% c7 o7 h- m- [8 K% L2 M7 m// 数据输出 ' v' G+ u8 Y, c for(i=0; i<n; ++i) + o9 K& L0 x9 q! _* X printf("f(%d) = %f\n", i+1, pf); ; i4 j1 `' c; M6 P$ S6 _3 b" g4 X 3 O+ V% R7 M9 @" }4 ]. H return 0;5 s1 C5 ?6 z3 G1 M( W$ o
}( m# O, P* G1 a5 p* O
3 b7 X* U* u# x9 g
void get_data(float * pf, int n); k. x/ f8 g" z- d
{3 s- \. k, w( h4 D* @- q/ z
int i; 7 h2 B: k8 b4 s# ]3 O& o 1 \, [9 m' U# b% j: _ for ( i=0; i<n; ++i)( z4 B' |# |% r4 f. I0 P, J/ t
{ ' Z9 d' ]5 H7 s+ E printf( "f(%d) = ", i+1 ); ' Z$ z# I/ J, P* f' O4 m scanf( "%f\n", &pf );9 K0 |& k) M( r# C% F8 ^' U$ F
} % \2 N1 D3 @- U9 L" i. S9 U}3 w7 m& m! n0 p. v. @1 L
- O6 n. r' A8 E& r) k/ Z2 W" M0 u
在敲完 void get_data(float * pf, int n) 函数时测试输出f(i)时出了问题,打印为:4 q9 O/ [+ Q/ d( o. |* T B1 k
7 k1 ~8 B; o7 M! z2 W* r3 V, S( W
+ v/ c, M3 S# B ' f0 @4 r% d) |8 m+ Z0 L1 i& O$ f5 n P2 y9 a7 @
想了很久,还是想不通!