- 在线时间
- 6 小时
- 最后登录
- 2012-4-16
- 注册时间
- 2012-2-21
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 100 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 34
- 相册
- 0
- 日志
- 0
- 记录
- 1
- 帖子
- 14
- 主题
- 2
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   30.53% TA的每日心情 | 开心 2012-2-27 16:45 |
|---|
签到天数: 4 天 [LV.2]偶尔看看I
- 自我介绍
- 中国地质大学的学生
 |
以下是《计算单位阶跃响应的上升时间》的部分源程序:# l2 a5 Y+ e' ^# ?# W
' k, w3 ]$ M2 i7 O. ^
# include <stdio.h>
% b$ D8 _, ]; W# include <malloc.h>( e9 i. ~; b& o; u0 D
# include <stdlib.h>
; T' Q0 S! w& B: _2 F* L; Z& j" l$ W) m2 ^- @$ {
/*
' u! h& j$ j4 ~** delta---抽样时间间隔;tr---响应的上升时间;n---抽样数;f(i)---抽样数组。6 |& ]; J1 h5 i2 `6 l! |4 B
*/
+ g4 x6 @9 f. @1 C0 A* {3 D! \: Z4 g
void get_data(float * pf, int n);
U/ _% ^' K \int main(void)0 w* Y5 J2 j1 v! Z2 m* h, w1 k
{' V& }5 W4 _5 [$ d: @1 J- @. r6 v3 `( p
int i;
7 U. Y# k! r p: E1 q3 h( @( [ int n;
% b0 o9 e6 |0 y. i d float delta;/ q9 f# o1 i- Q4 M# u
float * pf = NULL;) p* k0 [) t4 W
* y( h. a3 N8 K3 \/ H
printf( "请如入抽样数: n = " );
7 _, z4 t8 k3 Q: m. M( U scanf( "%d", &n );
- z' l/ O, s3 f7 V/ N2 V" H% V printf( "请输入抽样时间间隔: delta = " );( B5 p) X5 `$ f
scanf( "%f", &delta );
# i; K% }8 e0 ` printf( "请输入抽样数组: f(i)\n" );
& d4 |' o& N6 O" F* N
' ]1 ]2 B. H9 v* z9 J T* u$ J pf = ( float * )malloc( n * sizeof(float) );
6 G8 w }+ R' v9 ~! F8 d, C) ?( b. k: Y9 V y/ t1 |) z
if (NULL == pf)
$ h' U# \3 `0 Z0 x1 g9 W { ?4 H: @1 f% ~( M8 o ?2 ~
printf( "动态内存分配失败!\n" );, ^# ?' E3 g2 L5 Q7 _7 U
exit(-1);6 { i# B9 ^- V4 Y
}
0 B" H! I6 c" B6 \4 s/ C6 |
9 I( b0 x0 p$ J1 f6 s6 q0 Y get_data(pf, n);
' C y# E# A* F" {# [) [1 R0 B) t' q: K
// 数据输出4 t7 u ~4 O! u# |4 _. ` j: b& m
for(i=0; i<n; ++i)" _7 A* D1 G+ c; p! @4 Y n" c
printf("f(%d) = %f\n", i+1, pf);
% q* K, o) w V) f) `+ s+ E* R2 z4 y1 A1 n. i" B2 Y Y9 F0 A
return 0;
) V; f* N% b1 N7 C5 x}, }1 ?0 O( G& Q, m
4 @: w6 Z* ^) l: z7 W+ d( W, \
void get_data(float * pf, int n)
' }; Y L: [5 H; }; s: ?{* W! }2 t( b6 t1 g2 I- {
int i;- Q5 k5 e' ]7 n3 L
: ^: ?% l( j) O" N$ O# @
for ( i=0; i<n; ++i)
4 n) E% b8 z4 D. Q8 ]/ P/ Y- K {" m% U* g2 ?# m/ f! X2 K
printf( "f(%d) = ", i+1 );* s! y! L7 m$ k8 J3 M1 ~
scanf( "%f\n", &pf );. _. E$ G# K% T1 h V, M
}5 G8 H; v1 {1 F, F
}! G. A0 E7 z" v$ D4 G# u6 {
- ^) @% [7 ~7 K* I/ O在敲完 void get_data(float * pf, int n) 函数时测试输出f(i)时出了问题,打印为:
# W4 H& ^, l, k: ^) S4 s, c4 W8 n# W3 e4 Q# ^+ r$ R
! C7 C# k/ ?5 p( z& ?( o # `3 c" ]9 j) c, F$ B! i
9 l9 ?4 l( u, M6 N6 a0 V
想了很久,还是想不通! |
zan
|