- 在线时间
- 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
- 自我介绍
- 中国地质大学的学生
 |
以下是《计算单位阶跃响应的上升时间》的部分源程序:8 ~3 T$ B% s5 c6 i
: r" U, M/ o4 J$ N
# include <stdio.h>" D, R% y) @4 Z: j" ]( {. l3 d# y
# include <malloc.h>4 Q# b0 D+ G, z7 o7 G( S
# include <stdlib.h>
0 k+ I1 H( y- {& `# L5 H2 N1 Z; A3 Z) K5 p ~; o5 P
/*, E1 i4 | s) I1 @( u2 k$ W
** delta---抽样时间间隔;tr---响应的上升时间;n---抽样数;f(i)---抽样数组。; s! C8 y+ l9 Z7 P; w* c7 {; X1 `' G0 t
*/
; w; R2 v4 A, p" a. Y( ^ S, d( d+ Q) K/ f) z3 l/ K
void get_data(float * pf, int n);
6 Q: B4 Z( ?8 z+ fint main(void)
* H4 O" }5 w% m8 T* C$ j{8 o/ m% D# |$ c4 P5 ^9 g
int i;, y# J0 U% ]0 U
int n;) K# A2 G. m# O: l. z
float delta;$ a9 Y Q' a+ @0 G; h0 }
float * pf = NULL;
S& O. ]: }( j: b' L: q( W( E: u, b. T; x0 p/ r1 A+ G# y1 Z
printf( "请如入抽样数: n = " );
4 I. X/ ~ H. P8 H! }. V4 f% z scanf( "%d", &n );6 }; k* v( A0 }0 B+ x
printf( "请输入抽样时间间隔: delta = " );4 S8 b6 l+ J: c+ C
scanf( "%f", &delta );
, W4 q) V/ _$ i printf( "请输入抽样数组: f(i)\n" );
3 G' {/ q% {0 _/ |6 b, E( p
6 r& E q# z, b: ^0 t- \ pf = ( float * )malloc( n * sizeof(float) );# T/ {/ @. d) u1 g) S
9 d) D: d: d8 b0 T: e0 K$ f/ f( ]+ Q if (NULL == pf)( T* Q7 b4 x0 D) v. X8 u! K5 C
{
+ l+ K+ ~; |; {" N; J \ printf( "动态内存分配失败!\n" );7 i# T+ J# E1 B. G9 b/ y# l
exit(-1);
$ c \: Y+ c; z6 f1 o& j& M' m; O }
P v+ m0 b) q- b0 `8 ?
! w4 L: C7 M7 u7 h; o get_data(pf, n);* t8 v% c( H& y
- q4 a% x0 u1 z) R$ r8 F, ^; _+ ^
// 数据输出
# U( J7 t% i3 ?$ d# L4 ~/ h for(i=0; i<n; ++i)
' ?+ r6 P: g [ printf("f(%d) = %f\n", i+1, pf);
1 h, K( ~5 O0 y( K: L
: B& g; j% O# [" P8 @! s* p return 0;
$ ?0 D+ p u4 o% _9 p' ]}5 ^" K8 x- w9 ~ M
2 j B, I. J3 S8 A7 S5 s; o1 ~void get_data(float * pf, int n)
0 x, w H/ y( T( p6 ~{
) n3 c) _& e$ S# t" Q# u int i;" Z/ F9 q+ H- v [$ ?7 Z
$ w0 A# o4 a3 l
for ( i=0; i<n; ++i)
( [1 W3 W4 h$ b o {5 Z) k7 M ?4 ?, m0 M% c4 h
printf( "f(%d) = ", i+1 );5 v* }% c8 k0 B0 t2 D8 k8 V5 v
scanf( "%f\n", &pf );
0 J. e. f1 N( f/ @2 C9 a }
2 l2 x9 Q% s3 |) q" h}
6 T( _3 _4 C+ R6 n, @4 l% |1 X, B/ l( K
在敲完 void get_data(float * pf, int n) 函数时测试输出f(i)时出了问题,打印为:0 t! a. m3 p* W3 _7 f1 x
; y. W) Q) c. c6 a; g2 o* N
8 i& X/ E$ J$ ~: C. ^
![]()
7 U$ t1 Z! O, X6 o2 ]6 Z3 V
7 n* d- g4 ?$ R想了很久,还是想不通! |
zan
|