为了账号安全,请及时绑定邮箱和手机立即绑定

请问该怎么将这个自定义函数改写用数组?

请问该怎么将这个自定义函数改写用数组?

莫回无 2022-04-14 17:07:09
将这个自定义函数改写用数组Function 应纳税(s)Dim xx = s - 1600Select Case xCase Is < 0: 应纳税 = 0Case Is < 500: 应纳税 = x * 0.05Case Is < 2000: 应纳税 = x * 0.1 - 25Case Is < 5000: 应纳税 = x * 0.15 - 125Case Is < 20000: 应纳税 = x * 0.2 - 375Case Is < 40000: 应纳税 = x * 0.25 - 1375Case Is < 60000: 应纳税 = x * 0.3 - 3375Case Is < 80000: 应纳税 = x * 0.35 - 6375Case Is < 100000: 应纳税 = x * 0.4 - 10375Case Else: 应纳税 = x * 0.45 - 15375End SelectEnd Function
查看完整描述

2 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

1、因为数组在内存中是一块连续的内存,只要将该数组的首地址传进去,当然就可以访问整个数组了。值得注意的是,由于只传了首地址,函数不知道数组的维数,所以还得把数组的维数传进去,那就可以完全操作该数组了。

2、例:有一个函数声明:void fun( int aa[],int size );或者void fun( int *pa,int size );
以上两种声明都一样。
调用上诉函数时:假设有 int ab[10];
fun( ab,10 )就可以了。

查看完整回答
反对 回复 2022-04-19
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

Function 应纳税(s)Dim x, arr, karr = Array(0, 0, 25, 125, 375, 1375, 3375, 6375, 10375, 15375)x = s - 1600k = IIf(x < 0, 0, IIf(x < 500, 1, IIf(x < 2000, 2, IIf(x < 5000, 3, IIf(x < 100000, x / 20000 + 4, 9)))))应纳税 = x * 0.05 * k - arr(k)End Function

查看完整回答
反对 回复 2022-04-19
  • 2 回答
  • 0 关注
  • 171 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信