- 在线时间
- 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
- 自我介绍
- 中国地质大学的学生
 |
以下是《计算单位阶跃响应的上升时间》的部分源程序:/ o1 x7 }! e9 E; I+ [0 m* I
( i" i! F2 l3 Z) z; c5 P
# include <stdio.h>" W6 R, C! i$ ]9 f$ N9 l
# include <malloc.h>( M% A/ D6 [( M2 {
# include <stdlib.h>1 u: a |( l% U# N5 b1 I* [
. ?7 ~: c8 T7 z! B) d/*
6 t4 U; w+ \; W" T8 ?, ?- u** delta---抽样时间间隔;tr---响应的上升时间;n---抽样数;f(i)---抽样数组。/ C7 j" U$ {/ }7 R; \
*/
7 v* y) }" n5 w# Y. }
0 i, k+ n/ W- n/ P- lvoid get_data(float * pf, int n);7 a1 i$ w. a& e" \, z( l6 k
int main(void)* y( m- L- a% E3 n3 ]5 A5 b
{
. p+ f6 J2 h. r0 T int i;% V L: b* ?! T2 Q( G: F# b. F( a
int n;
" o: Z( u, I; U9 f4 Z7 s% b float delta;; p; ]4 b# G* c) y3 p# C G: b
float * pf = NULL;9 w% U) u3 }: f0 w4 d: ^7 W
; J$ X: s* m. X4 |& c
printf( "请如入抽样数: n = " );
& Y% H0 x9 m, m& W3 w% Q3 _# Z3 A2 o scanf( "%d", &n );
7 i7 u: W0 d6 o8 N7 T; A4 [4 v printf( "请输入抽样时间间隔: delta = " );; R( z5 S$ I* }1 X9 a; ^. i
scanf( "%f", &delta );
: j R/ Y& p ^; [ c printf( "请输入抽样数组: f(i)\n" );5 f6 O& h( X% u% D! p7 \' k" O( J
1 }+ |- d3 k. [: K3 P. }* F
pf = ( float * )malloc( n * sizeof(float) );% A) V4 `( |1 A; D+ t' J/ P
9 N/ t0 ?8 e" {' ?# t
if (NULL == pf)& g1 ^! D: L/ F
{5 S. X g+ L5 N
printf( "动态内存分配失败!\n" );
2 @4 V. m( w2 W/ Z exit(-1);7 x, G; C: C2 F, E
}/ h- M$ ?& {; D7 o ^6 W5 o
* B; [& a% Y9 H, T get_data(pf, n);5 [. R! G7 T2 n: T8 _! F/ l# Z. @
5 }; X; A4 i2 ]! Y2 v8 ^1 N// 数据输出
) X: x; {$ d C4 ?7 N& d& g for(i=0; i<n; ++i)5 A6 C6 K! f) h' R
printf("f(%d) = %f\n", i+1, pf);' B9 Z, m" A. T* Y. J0 T
8 C& J& k: ~0 g% q! g5 V
return 0;
! M2 h9 X, }! R' s}# A3 J y0 v, ~/ @
5 p! q: g8 Q- r: _void get_data(float * pf, int n)$ {6 _ e+ N! ^+ }1 [7 |( r7 |
{
. f3 b m! m- V& A int i;
& n9 C; M1 d, @4 V- t6 r
; |0 ? t$ ^+ J, V" h for ( i=0; i<n; ++i)
/ M5 P2 }& ^" F {
% |3 `0 p! x% }3 ` printf( "f(%d) = ", i+1 );
- h( K" t# R* X scanf( "%f\n", &pf );# N0 G7 r* h" C' h
}
* _/ Y% q3 d4 y& J/ ?# y& g( @( Q' l}& q: w% d4 E; W! u, j' V4 ?8 a
; P# l- s; m1 j0 M( {
在敲完 void get_data(float * pf, int n) 函数时测试输出f(i)时出了问题,打印为:
7 e8 @+ w4 m. q* k3 T/ Q0 |5 j+ \- ^/ N5 h4 q% t. A' y4 E. n
: l& |, p+ {7 z! N5 n3 z1 z2 ~ # s- t _) w3 [
# d* Q! E3 r3 ^: \* P想了很久,还是想不通! |
zan
|