作为家庭作业,我必须用给定的字符串交换字母。我已经想好了该怎么做,但不知道如何立刻显示。它涉及到一个for循环。因此,如果我在for循环中包括disp x,它会在括号和空格之间显示它们,但是我希望它们都在一起,所以而不是
"a“
"b“
"c“
我要"abc“。有办法这样做吗?应该将变量推入数组中,然后在for循环之后显示数组吗?如何将变量推入数组?
这是在TI-Nspire CX Cas顺便。
发布于 2015-02-02 17:47:07
若要向数组x添加元素A,请使用augment(A, {x})。
对于您的具体情况,我将使用一个字符串变量(称为string),在for循环的每次迭代中将下一个字母连接到该变量。因此,如果要添加的下一个字母在变量letter中,您将在for循环的末尾放置以下代码行:string := string & letter。
发布于 2017-10-01 23:42:58
这也是一种方式:
局部数组数组(数组)+1 :=值
发布于 2017-03-09 04:03:54
我会用一个例子来回答你的情况。假设我们的目标是在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上面的小程序将一个十进制整数开发成二进制基;但是,正如您提到的那样,每一个二进制都显示在一个单独的行中: ex:
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]
我希望能帮上忙。
https://stackoverflow.com/questions/28265892
复制相似问题