- 在线时间
- 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
- 自我介绍
- 中国地质大学的学生
 |
以下是《计算单位阶跃响应的上升时间》的部分源程序:
S& d7 ^" S& ~& e
5 [, g) l* [8 W3 Q* g/ C2 X# include <stdio.h>3 f p( z. r$ X" `
# include <malloc.h>
1 z6 P" P R, ~, M# include <stdlib.h>/ F* R) e: m5 A) k0 j$ p: z
9 B0 V' f1 m8 k7 D! _
/*
; T$ I# D: |. ?** delta---抽样时间间隔;tr---响应的上升时间;n---抽样数;f(i)---抽样数组。. X/ `/ h3 F0 y: N8 ?
*/
2 c; N8 Q1 l$ a }- V+ W% M0 f h# Z( ]& U% ]' X
void get_data(float * pf, int n);3 O0 u9 d& U9 d0 u/ E) W
int main(void)
2 ^) Q# o6 f, k+ `2 }- m{
+ g7 O: ^: S- L0 s/ z, u1 _0 } int i;
) A% Y( D2 d4 x int n;
1 p) d0 |# h/ S2 T: Q float delta;( r2 D+ w. a+ |! a+ q
float * pf = NULL;7 {- `2 c7 O' J$ i. b5 G
. [- y. i2 ?4 l. W
printf( "请如入抽样数: n = " );$ ~' ?+ h- k8 C- s5 Y6 S
scanf( "%d", &n );0 g3 A/ i% K' y3 y
printf( "请输入抽样时间间隔: delta = " );* X p$ `( d5 F1 U: X8 ^
scanf( "%f", &delta );# X9 U3 I X, U* E& U
printf( "请输入抽样数组: f(i)\n" );% j$ I1 ~% Q5 O$ q! n, G
$ i/ N7 S8 j% x, v Z1 o pf = ( float * )malloc( n * sizeof(float) );
/ R6 Z- O4 L. ~) N5 A8 d& @/ y" x3 X5 f! _/ D
if (NULL == pf)
, y* U0 M( N2 v: { O/ U {( M/ [8 s+ @; x% Y
printf( "动态内存分配失败!\n" );4 }& B& l$ c0 H- K8 W& l
exit(-1);. c' ~' s; F5 Y) I- s' G
}/ U M: X7 [$ X. `: ^* p/ [& {* G& A
* o; m( ]' r8 H5 E- o get_data(pf, n);8 O; j/ q( }; w4 u
& ~) d: X; h, U8 P
// 数据输出
" Y& `( q* v3 ^# | for(i=0; i<n; ++i)3 O# [+ W4 K' B+ P1 a: L- ]
printf("f(%d) = %f\n", i+1, pf);. _7 z& h* C/ B. k: ^( \, D' }! v
. Q/ Z) Z H+ A9 w( E return 0;
& o1 a& c$ f" R" ]. g2 f O' h}
( U h ^1 ^4 K* F2 \3 G
3 p% N. x) m0 D" kvoid get_data(float * pf, int n)1 Z8 n" }' V% U2 b& A- ]) Z1 L
{' ]* e& x+ N5 L; B3 z3 E! s/ \
int i;
# E( N, R5 {. ]* S' e' {9 @9 r: T: ~0 V
for ( i=0; i<n; ++i)
" W4 U0 K0 I; {, D! k/ y" @ {
* n% A* J1 F+ I d8 Z printf( "f(%d) = ", i+1 );/ }6 r$ ~# U7 g
scanf( "%f\n", &pf );
- p6 J6 {5 u3 e% K5 s, R }. z5 V3 W+ [6 ~ v3 f8 z1 s+ f1 D
}
5 Q/ D8 ?; o s& D8 R* ]7 J% N" e) O( R# i2 p. B& g' _0 {
在敲完 void get_data(float * pf, int n) 函数时测试输出f(i)时出了问题,打印为:. [ M$ O4 N t% ~4 ~- v w* S
0 Q$ |' A: l1 n3 y, L! A+ ?4 a
) Y' y$ D- V4 C![]()
8 n+ @" L' L( @4 g+ Y3 I' u) Z1 m6 S) `+ [8 g1 Z- V$ ?; a
想了很久,还是想不通! |
zan
|