- 在线时间
- 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 L5 u! X8 B+ W! `) {* [$ R( z
4 p5 z8 o7 |8 ~0 c% Q% m( G# `' D# include <stdio.h>
* K, Z( t' B4 }+ {# include <malloc.h>
, b# k% b) A" v0 A2 ^7 a" y/ a$ g# include <stdlib.h>
/ L5 W4 P' N8 X- u0 w! |# A: a! M) M
/*0 ]6 g; H; P# k: v W
** delta---抽样时间间隔;tr---响应的上升时间;n---抽样数;f(i)---抽样数组。
. d# e; k; G; n+ ~. j7 |! g1 a! C*/' `6 `1 o) `: f1 o1 ]. p! K
2 H4 p6 k$ s9 `' T! E/ p
void get_data(float * pf, int n);9 Q1 X1 {8 ^2 W i) a* l# R
int main(void)
. d: U$ w" U6 ^) O/ i x{
( C; |/ }# @+ |) N% a int i;
. n5 L. v1 l4 U- _( _3 {3 H, e" Q7 ? int n;9 F% h% T- Y& y& j, F2 Q
float delta;% j1 u# ]+ | c
float * pf = NULL;6 o9 e6 g/ i: ~! L
. Y9 Y( b: g& \ printf( "请如入抽样数: n = " );
% X/ v* U6 N$ E3 r/ J3 x6 p' m scanf( "%d", &n );1 }+ o- X5 S' M7 D! g7 ?
printf( "请输入抽样时间间隔: delta = " );
7 D: j: m' @' z, b" B scanf( "%f", &delta );6 ~3 t8 [8 ]$ }
printf( "请输入抽样数组: f(i)\n" );
2 i$ H0 x ?2 B! S* ?) b
4 J& w l+ ]( Y! H9 _' A pf = ( float * )malloc( n * sizeof(float) );
- x& H j/ U% f# X! N+ H3 u4 [2 n9 `. M& Q/ B( t* Y/ G
if (NULL == pf)
# z9 U* t5 e( J' I2 Q9 r: E {& ], h0 ^1 q# \/ E
printf( "动态内存分配失败!\n" );1 ^0 M1 Y& h( s! f
exit(-1);
) W% _& z( n+ {$ p5 u, V }2 k& I0 [( F1 M
& X. X) B' w5 m/ A0 C
get_data(pf, n);
' G( ?1 Y+ t2 f! u5 ?2 l9 P e; S a' ` O9 T; S N
// 数据输出& y" C1 s4 z: F
for(i=0; i<n; ++i)
3 @0 L. ~# S% U printf("f(%d) = %f\n", i+1, pf);& \$ y2 v( L, p* p) Y- T7 ?7 }6 d
! B1 t4 }6 j" @2 }6 ]# x( {$ k
return 0;9 M2 p! }: I7 [6 d- q* d. T, U
}
( c; N* Z( F3 j" A1 D4 N) [* d! t# U# t3 w5 b) }$ O
void get_data(float * pf, int n)
0 j; B5 ^7 @' h{
% p% G6 b/ Y {) s1 Q int i;
: Y" F3 G4 L2 I- J4 q/ i/ ~
- k$ o; L' \$ v for ( i=0; i<n; ++i), Q1 S7 k+ y8 B
{ ~" j/ m! I2 @4 S+ u
printf( "f(%d) = ", i+1 );
3 X0 }0 a3 u: ]7 }" v scanf( "%f\n", &pf );# v( \1 I6 n7 q8 }1 p1 K
}- O6 K# u) p/ |" W$ C+ Q0 [
}
. h B. \4 k% X$ G0 v8 a) m# B( S1 q& u. b7 a6 o8 q
在敲完 void get_data(float * pf, int n) 函数时测试输出f(i)时出了问题,打印为:
8 S ^- H G3 P1 Z( {* x5 h3 b
3 @2 O4 w, }6 A4 Y6 W$ e6 i0 [6 [1 G* {. {% x
& A; ~; g7 \( l% w
. f$ p% x9 M/ r; P) B0 I/ n3 z5 p8 u
想了很久,还是想不通! |
zan
|