- 在线时间
- 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
- 自我介绍
- 中国地质大学的学生
 |
以下是《计算单位阶跃响应的上升时间》的部分源程序:5 z: r6 I8 W6 | `
0 S, j7 v z4 {: C8 z- v
# include <stdio.h>, x" P. @ Y# b6 j2 [4 W4 S
# include <malloc.h>
. {# _1 P' z5 ~3 X1 K: Q: `# include <stdlib.h>
i S% J6 s5 T9 V- F) u9 f7 p1 ^7 D7 @
/*
" s5 K9 x7 T- ?6 L! d; s** delta---抽样时间间隔;tr---响应的上升时间;n---抽样数;f(i)---抽样数组。! I5 R7 g& S6 {3 W2 c8 m
*/
9 y% R: ?' B$ x0 Q7 x" {
1 Z5 N+ X1 x) C/ X! d/ zvoid get_data(float * pf, int n);3 R R4 V7 h6 @% t$ b7 D7 X" Y
int main(void)
/ e4 F# T& d) q; K{& K) b- d$ D" D& Z
int i;
/ X6 B$ ?2 }# D+ L# ^9 K; g& Z# J int n;# H. \* J( v; _" P( u" V
float delta;
3 J; n3 [/ O7 Y# L1 F float * pf = NULL;
7 H3 g& Z* Q9 t: a+ `
F& @; F6 G) T& r" @8 K( Y7 L printf( "请如入抽样数: n = " );- l% P S: P, M0 ]
scanf( "%d", &n );
3 r; I" R X- x( q* h printf( "请输入抽样时间间隔: delta = " );( T% _4 e7 d; a7 m$ k
scanf( "%f", &delta );, ~, L; X6 s. \9 t
printf( "请输入抽样数组: f(i)\n" );# T1 d- X1 l# A G& c& i) O# J
* s7 Y' C- O, v1 f0 G- W; B$ A* _ pf = ( float * )malloc( n * sizeof(float) ); }& o; R) `3 X
+ S, e1 \0 E! Z7 F$ x; D
if (NULL == pf)
+ G9 {' ]" _; ` r {; l# G: e4 }4 N p$ r' Y: X
printf( "动态内存分配失败!\n" );- P1 e; H! E1 O4 v4 B
exit(-1);& w I( f p+ m
}
$ C ^. e( F( ?$ z* s& |6 F6 u* w5 `( S, j9 W$ j
get_data(pf, n);+ ]) X( A* `+ y2 T; R0 Y
! i% N; Y8 i& |$ y) H" t/ Z [, n// 数据输出' B$ _5 c( M o; w5 \ m: W' T
for(i=0; i<n; ++i)2 N& {( Y( S7 U8 G( r6 |
printf("f(%d) = %f\n", i+1, pf);
) ?4 ^+ W2 w% }1 ~$ d& d" M% q$ B6 U2 u" ]
return 0;- V {/ Z% `5 C3 q, p- @; r
}% c: `4 [2 @% I
7 U5 N; \. s, w) T% O( m' u) b: p8 T
void get_data(float * pf, int n)
/ O) L3 x. c7 Z/ Z/ d0 U{
4 x# I3 M% g& l& b' j int i;
5 z; B! P# B* m& u: `! E+ ]- ^& l; W8 V7 K5 F0 R7 r
for ( i=0; i<n; ++i)
% x0 m7 c2 F+ f' V8 q { l9 F( f% B- z- y4 z8 ~
printf( "f(%d) = ", i+1 );* g5 I( H3 u/ H
scanf( "%f\n", &pf );2 q0 N% k2 s% N; l, n
}
/ | l6 h0 P j$ }8 e* O}& ` [/ O8 J* z0 P% ?% _$ F
8 n( t$ p4 A% {* x5 ]0 {$ i
在敲完 void get_data(float * pf, int n) 函数时测试输出f(i)时出了问题,打印为:
% D: _6 {" ^2 o& [/ S6 k* [4 i. c) B8 G4 c( _) A" l) j2 U- V
* i3 K/ v# e1 y8 r+ n0 r- m/ j. r* J
![]()
2 T9 b1 K1 `) t, Q5 @! u3 f8 x& ~: @
想了很久,还是想不通! |
zan
|