1

作为家庭作业,我必须交换给定字符串中的字母。我已经想出了如何做到这一点,但不知道如何立即显示它们。它涉及一个 for 循环。所以如果我在 for 循环中包含 disp x ,它会在括号和空格之间显示它们,但我希望它们全部在一起,所以而不是

“一种”

“乙”

“C”

我想要“abc”。有没有办法做到这一点?我应该将变量推入数组,然后在 for 循环之后显示数组吗?如何将变量推入数组?

这是在 TI-Nspire CX Cas 中。

4

3 回答 3

2

要将元素添加x到数组中,请A使用augment(A, {x}).

对于您的特定情况,我将使用一个字符串变量(调用它string),在循环的每次迭代中将下一个字母连接到该变量for。因此,如果要添加的下一个字母在变量中,您可以将以下代码行放在循环letter末尾:forstring := string & letter

于 2015-02-02T17:47:07.100 回答
1

这也是一种方式:

本地数组array[dim(array)+1] := value

于 2017-10-01T23:42:58.457 回答
0

我会通过一个涵盖您的场景的示例来回答您。假设当我们在base2(二进制)中构造一个整数时,我们的目标是有一个列出二进制元素的数组。

Define LibPub develope(a,b)=
Func
Local mi,m,q
mi:=mod(a,b)
q:=((a-mi)/(b))
Disp mi
While q≥b
  a:=q
  m:=mod(a,b)
  q:=((a-m)/(b))
  Disp m
EndWhile
EndFunc

上述小程序将十进制整数发展为二进制;但是,正如您所提到的,每个二进制文件都显示在单独的行中:例如:

develope(222,2)
0
1
1
1
1
0
1

在此处输入图像描述

但这不是你想要的,你想要的只是一行。重要的是,您应该希望每个元素都可以作为单独的整数访问,对吗?就像数组列表中的元素一样,这就是您要寻找的东西吗?

我们去:

    Define LibPub develope(n,b)=
Func
Local q,k,seti,set,valid
valid:=b
If valid>1 Then
  q:=n
  k:=0
  set:={}
While q≠0
    seti:=mod(q,b)
    q:=int(((q)/(b)))
    k:=k+1
    seti→set[k]
EndWhile
Else
  Disp "Erreur, La base doit être plus grand que 1."
EndIf
Return set
EndFunc

基本上,因为我们不知道要在数组列表中添加多少元素,所以set:={}声明了一个未定义dim(通常是长度)的数组,以便动态增加。

该命令seti→set[k]会将seti它的值添加到k数组列表的位置。

并且return set简单地返回数组。

如果您需要访问特定元素,您知道如何:elementNumber5:=set[5]

我希望它有所帮助。

于 2017-03-09T04:03:54.157 回答