- 在线时间
- 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
- 自我介绍
- 中国地质大学的学生
 |
以下是《计算单位阶跃响应的上升时间》的部分源程序:6 j5 B$ H4 t: N7 F# A4 y0 N
' ~+ |6 R0 h* s0 ^
# include <stdio.h>
- u8 x+ s$ f3 q3 ^# include <malloc.h>3 x _& `' C7 r5 t4 y$ t
# include <stdlib.h>
8 d/ f- G+ _; S; l+ w& V2 ?7 r( [; S( _( w" K M/ J1 B) I
/*
9 F0 K1 B4 b# ?3 q( w+ _ I** delta---抽样时间间隔;tr---响应的上升时间;n---抽样数;f(i)---抽样数组。
4 r8 d+ U3 n( m7 |2 P! ?$ ]*/$ m( |" N# q1 x4 }* a0 y* d# j
0 [0 V$ D* S0 K3 \
void get_data(float * pf, int n);
' D: P! f: J& R4 }+ A! N. Pint main(void)" J- t5 [% s9 O
{ T& E8 e* ^3 U( P8 L
int i;( D5 I: ?$ M5 h/ R( J$ Q8 c+ F
int n;
, B1 A. H6 n& o4 F8 \2 X float delta;
& l I+ I- @# R6 q float * pf = NULL;
. H; W7 M$ ^- z4 s7 K
: |% G; D$ {) A5 O0 ]2 s, I: G printf( "请如入抽样数: n = " );
, ~% T8 a2 Q0 ]9 P2 c( H0 a scanf( "%d", &n );
6 x8 e: l$ q/ }- P: A% Z printf( "请输入抽样时间间隔: delta = " );* W: m) c9 u& {5 |
scanf( "%f", &delta );/ q b% v9 O6 Y+ V
printf( "请输入抽样数组: f(i)\n" );
O% g" a% c( G( _; [8 k8 N4 y2 \% H
pf = ( float * )malloc( n * sizeof(float) );
# x" z7 {6 `5 S! e- i0 ]5 u1 I0 i) w; B# s9 f
if (NULL == pf)
0 ?' F' Y* p' `& ~ {0 U2 ~. a+ e/ h: Y! Y
printf( "动态内存分配失败!\n" );
) k3 x% G/ r. L( p' t- U exit(-1);( ^1 w0 I6 P& Q% }
}% A& B F! W$ e4 G- L7 ]- j
, |2 z# d( v. V, ]( Y1 D4 n, T/ H' N get_data(pf, n);
5 P, d- Q" G, {& x5 a
# n* P/ r( o- K// 数据输出. b3 I% Y8 R$ F- Y) K, d. P
for(i=0; i<n; ++i)5 }" r9 M1 J% c5 t8 k' ]
printf("f(%d) = %f\n", i+1, pf);' M S; G7 \+ _) V% {4 o
- k" H, J7 q3 _) T# R3 [" f- T2 H
return 0;4 M5 O% a5 }5 q" l# F$ h7 l% C
}
2 h! x6 I9 m& u: M1 Q1 ^1 f* `
) s. V% @- `' }4 K: S: Ovoid get_data(float * pf, int n)
9 Q) ?2 g# w3 b. }( t{
( b ~% `4 J' N( F" E int i;
# a- c/ a* {( Q/ g( ]& e8 {
9 j7 R3 c8 j8 C. M+ t1 z# F, @& e for ( i=0; i<n; ++i)
/ Y8 \/ |$ B t3 T o {
# p* ]- E) r/ f3 P: U+ [ printf( "f(%d) = ", i+1 );# w3 o- K$ E7 N/ u7 m6 E
scanf( "%f\n", &pf );! X6 b9 M* C7 ^2 D2 b7 J
}% Z0 c5 B8 R9 J, K
}$ N; D O0 z2 i0 w# d( g
8 ~" Z" R! ]) K- O/ R; Q7 U
在敲完 void get_data(float * pf, int n) 函数时测试输出f(i)时出了问题,打印为:
+ a, q7 l: o! P" n( T. `
' w9 S3 p8 N- R( x% P% A' B% \% _3 q+ W& {: F) K
![]()
; C4 M% Y. _; o8 W! A/ B0 [. e9 B
想了很久,还是想不通! |
zan
|