- 在线时间
- 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 U+ ` |) E( b) I' m# g0 X, E0 U5 y; j
# include <stdio.h># \2 y! j& M: s; c
# include <malloc.h>
8 W% y& [) {& X& f h+ z# include <stdlib.h>
! n i* ~8 S% |+ q4 \( C0 P5 }, e6 S
, s0 V7 S6 ]7 r/*
' y1 q& i, ^) _$ L# s** delta---抽样时间间隔;tr---响应的上升时间;n---抽样数;f(i)---抽样数组。
1 D3 X# w+ s* p! D; u% W*/
% f+ z- _; L6 F/ O( ^
1 Q! T3 M, q$ Q$ ~, R1 C; f0 Jvoid get_data(float * pf, int n);. \# ^2 d5 M+ |) I- W1 W2 h
int main(void)
0 T( C, ]* |: M5 q4 s7 j{
, N/ P8 I7 @9 c5 `! K- J' _ int i;4 w2 b/ {4 h' _0 U/ {( ~; `
int n;
: ]! }# X9 b% g6 l float delta;
: P7 g5 R* U5 }4 Z! {5 T float * pf = NULL;, q. k4 @' ^; F. I) z- J1 H6 n
9 @0 [! X. ~9 i' P" V! ^- I% [. _
printf( "请如入抽样数: n = " );
1 D* p4 F: N5 j$ l* ? scanf( "%d", &n );
3 q# c7 |8 m! U5 e" @ printf( "请输入抽样时间间隔: delta = " );7 }8 e4 x( e5 C2 x& d1 m. P/ _9 n
scanf( "%f", &delta );+ p# v9 r! ~9 \# z1 k7 c
printf( "请输入抽样数组: f(i)\n" );
3 o; v3 S! Y( I! x6 A! R* O+ z7 l0 y# N6 Y4 @
pf = ( float * )malloc( n * sizeof(float) );
( t+ ~8 r, v8 Y: @3 q1 Z* B
6 n/ r+ O6 Y! G a% d1 b if (NULL == pf)
; m: w n3 q; ~# m7 a {
( l- N5 W5 K& L6 C printf( "动态内存分配失败!\n" );
5 `+ Q. s: ]( d0 R exit(-1);
/ _0 G6 a/ ^* b2 [3 n! f) G5 C }8 u" h# d, V: e- D0 F1 [& n
! s0 P* f6 @' A0 h6 J' g8 |- |% s
get_data(pf, n);- v1 o6 g$ g& {5 H J/ I
7 t& V9 I$ h& L2 w5 b// 数据输出
0 K. e1 \, d3 ^. V, |" J+ t for(i=0; i<n; ++i)
7 \4 X: m/ Z0 E9 F H+ e7 R! z printf("f(%d) = %f\n", i+1, pf);
3 x% r) l7 i$ [! o* G2 j$ W# Q) g1 ?( h$ `# L/ K+ T/ j5 S
return 0;
. F# G! t* s# E# ^}
. c2 C* b2 G) q: c; Z% ~! P7 O2 a9 T9 v3 C0 |! h7 ], z
void get_data(float * pf, int n)
# Z: @3 _6 p4 _* v8 c' t, @) _/ v{
Y5 F1 e; V( n3 C3 ~" A int i;; |/ D- n; x$ F4 V2 z" u' E' r* V
0 y, v, ]& I) y9 l+ x U
for ( i=0; i<n; ++i)
4 M' Q9 k7 k1 w9 I# `& ` {
5 J7 K4 q+ T) V printf( "f(%d) = ", i+1 );8 B$ {7 }8 ^, ~7 W1 U8 F
scanf( "%f\n", &pf ); P) R" X1 s2 T" y" n4 ^* }
}( O" x. q; U, |: [# Z
}6 w% o5 @1 R" f4 O
, X e9 T2 ~/ \7 F% e3 K* L
在敲完 void get_data(float * pf, int n) 函数时测试输出f(i)时出了问题,打印为:
% ~& T5 c* C( ~/ ^2 t; T$ O! ]) a6 T2 e# F0 e. D4 h; b1 Z) Q( e
; _0 b3 N, w) i+ Y; J* `8 W& ]9 |! y% a4 Z% V9 g* z9 u! E
" k" t( a2 x; h7 f9 Y
想了很久,还是想不通! |
zan
|