- 在线时间
- 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
- 自我介绍
- 中国地质大学的学生
 |
以下是《计算单位阶跃响应的上升时间》的部分源程序:, g. \0 q9 `. i# q: T6 A. W
8 x* J9 r7 \, |4 f# include <stdio.h>
4 j) w; P* R3 i- t& ?# include <malloc.h> M5 N1 h4 L$ b) D- x9 K6 o
# include <stdlib.h>/ N5 B( r8 w6 |; ^. b
" {/ ]9 m3 C1 e7 M/ |/*- c" I: y7 a' Q& ~" R2 B
** delta---抽样时间间隔;tr---响应的上升时间;n---抽样数;f(i)---抽样数组。% U8 w9 ~. [0 F3 P% W6 I$ t9 _
*/
2 I( l$ h+ P# P: K) H/ \( S% n. a: k" n0 D- p; K
void get_data(float * pf, int n);
+ [1 w2 b x7 X9 `- k, t& \ G+ ^/ Bint main(void); W6 \% l0 r! Q3 a$ p+ f3 n# R- P0 ~
{: T% z9 U' @( y" q9 J- f% Y$ K) i$ Y
int i;8 V- Q4 [7 {9 G, d: k
int n;
) s' w# {4 r" x float delta;, l' c3 @3 Z# p
float * pf = NULL;0 `# V7 j0 ~8 M- f# b. g, v" q
" T4 n5 F0 Q5 _. k9 w. M5 I, A5 J
printf( "请如入抽样数: n = " );1 X" Z2 m/ k( x& g
scanf( "%d", &n );
7 A+ ^/ O! a9 ?) u" m1 v5 n printf( "请输入抽样时间间隔: delta = " );' G$ f/ }# F5 q' ^9 V
scanf( "%f", &delta );/ v* @' G, B1 r" H: r2 F
printf( "请输入抽样数组: f(i)\n" );
2 V+ @; I2 I. g4 m' i$ s& q+ v4 F# t: [/ d: f6 a! T# Y) `1 o1 b
pf = ( float * )malloc( n * sizeof(float) );2 F# c$ ^6 @ Y" p1 k6 U# b) i( O) c& ~
4 j+ v/ z0 a# {* Y9 q) b& O if (NULL == pf)- f, o1 a% h+ N- f: X W7 S2 i+ d4 d9 D
{
% `9 X' I* Z3 `+ v P8 i: O printf( "动态内存分配失败!\n" );
9 v% `% R7 O3 |- [ exit(-1);
" ^; l8 _. [+ }0 N4 ]; o5 n }. g6 E! Y! `6 w, }- ~( F" u
, v3 z8 y3 U1 N- S5 w/ b6 w
get_data(pf, n);! K/ W7 Q$ p- g( |' s9 a6 C
! B# ]$ \2 c" X+ x) Q2 S// 数据输出" Y4 q$ p4 k. X) f- {( u
for(i=0; i<n; ++i)
* z& M% \4 ^( L3 D4 ~& C printf("f(%d) = %f\n", i+1, pf);% J: | k# O5 n( h2 [4 E
6 }4 j% |# E+ ~7 [% d' N* y4 a return 0;
* @2 V; W% b4 K8 r7 J! ~}
7 [2 f3 y `! O/ ]. m- J* l$ z4 D5 g; q
void get_data(float * pf, int n)7 S+ @3 a# t k1 v3 \3 u( K
{5 s$ ^; u' @6 K) S6 o" \
int i;
% ^0 ^5 X% A% `6 F5 e/ j" i( F) s9 T J( K. A# P9 g+ A
for ( i=0; i<n; ++i)
- E. _* J7 T$ ]2 l8 K* I {
' t: t: v! g6 \' M printf( "f(%d) = ", i+1 );% q+ L& L) m1 _9 z
scanf( "%f\n", &pf );
- ~" S1 Y" ?/ O) ~ }
; d& k$ t) a/ T8 X3 t3 _7 H' \}
: p4 J5 I! |5 X" G% N: J$ x) b0 u! w% m, |/ k' Q
在敲完 void get_data(float * pf, int n) 函数时测试输出f(i)时出了问题,打印为:8 Q3 |, D) X; \) v( J4 f2 i
1 {4 B4 Z c& D* t
# v" z5 `9 G9 X% }![]()
0 [! p# @0 G+ r, P) N0 a) T+ M% s! \8 G/ T: V* f. A. ` `$ }& U
想了很久,还是想不通! |
zan
|