作者a88241050 (再回头已是百残身)
看板Statistics
标题[程式] SAS巨集问题
时间Thu Jun 20 09:34:48 2013
[软体程式类别]:SAS
[程式问题]:资料处理
[软体熟悉度]:中
[问题叙述]:昨天考的一题,写出一个巨集程式,把输入的钱数换成钱的张数
EX:输入487 跑出"领出487元,换得100元4张,50元1张,10元3张,5元1张,1元2张
[程式范例]:
%MACRO test(money);
DATA final;
N=&money;
RUN;
DATA final2;
SET final;
a=INT(N/100);
b=INT((N-100*a)/50);
c=INT((N-100*a-50*b)/10);
d=INT((N-100*a-50*b-10*c)/5);
e=N-100*a-50*b-10*c-5*d;
LABEL N='领出钱数' a='100元张数' b='50元张数' c='10元张数' d='5元张数' e='1元
张数';
RUN;
PROC PRINT DATA=final2 LABEL;
TITLE"领出 &&money 元,换得100元 &a 张,50元 &b 张,10元 &c 张,5元 &d 张,1元 &e
张";
RUN;
%MEND;
%test(487)
执行结果:
领出 487 元,换得100元 &a 张,50元 &b 张,10元 &c 张,5元 &d 张,1元 &e 张
Obs 领出钱数 100元张数 50元张数 10元张数 5元张数 1元张数
1 487 4 1 3 1 2
我现在问题是a,b,c,d,e不是巨集变数,所以标题的张数不会随着输入的N值变动
可是a,b,c,d,e是由N所产生的,不知道怎麽把他弄到巨集里
因为刚学巨集,有些指令还不太熟,希望有人能指点一下,3Q
--
╱
ψjhyfish \ ╲
[jhyfish@ptt]
∕
▃▂▁ \▂▃ ﹨
绝望先生 ﹎﹎﹎
/
◤˙.◥▍
▋◤.˙◥ \
【小森雾】 ─ 家里蹲少女
◤|
▃▂▄ ◥ ▄▂▃ |
◣ ﹊﹊﹊
\◥ \
◣′〞 ︵ 〝‵◢/
◤/
▆▅▄▃▂▁▂▃▄▆▇█
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.13.225.21
1F:→ JeanYCY:%LET a=%eval(&money/100); 06/20 11:58
2F:→ JeanYCY:%PUT 领出 &money 元,换得100元 &a 张; 06/20 11:59
3F:→ JeanYCY:结果出现在 LOG 06/20 12:00
还是跑不出来..如果要在TITLE显示而不是LOG视窗的话该怎麽写?
※ 编辑: a88241050 来自: 163.13.225.161 (06/20 17:27)
4F:推 tew:call symputx 06/21 23:44