2009-12-15 84 views
0

我的任务是以伪代码创建一个模块,该模块接受一个200字母字符的数组元素。如何编写代码随机选择200个字符并将它们放入数组中?伪代码中的随机字符

我的全分配是:

创建伪代码的模块,其 接受的 字符的200元件阵列,确定(的 出现每个阵列中的五个元音 的数的, e,i,o,u),并且 将每个元音的出现次数 打印到屏幕上。 [25分]

我肯定有把这个更简单的方法,但是这是我想通了:

Module vowels(characterArray) 
    Declare Boolean found 
    Declare Integer Index 
    Declare Integer vowelA 
    Declare Integer vowelE 
    Declare Integer vowelI 
    Declare Integer vowelO 
    Declare Integer vowelU 
    Set found = false 
    Set index = 0 
    Set vowelA = 0 
    Set vowelE = 0 
    Set vowelI = 0 
    Set vowelO = 0 
    Set vowelU = 0 
    While found == false AND index <= size – 1 
     If characterArray[index] == ucase$(“a”) 
      Set vowelA = vowelA + 1 
      If characterArray[index] == ucase$(“e”) 
       Set vowelE = vowelE + 1 
       If characterArray[index] == ucase$(“i”) 
        Set vowelI = vowelI + 1 
        If characterArray[index] == ucase$(“o”) 
         Set vowelO = vowelO + 1 
         If characterArray[index] == ucase$(“u”) 
          Set vowelU = vowelU + 1 
         Else 
          Set found = true 
         Endif 
        Endif 
       Endif 
      Endif 
     Endif 
    Endwhile 
     Display “Number of A’s: “ ,vowelA 
     Display “Number of E’s: “ ,vowelE 
     Display “Number of I’s: “ ,vowelI 
     Display “Number of O’s: “ ,vowelO 
     Display “Number of U’s: “ ,vowelU 
End Module 
+0

是否需要写接受阵列或创建该阵列的模块? – 2009-12-15 08:54:43

+1

该赋值不会要求您生成数组,只是将其作为输入接受。 – 2009-12-15 09:00:17

+0

我想创建一个有alphabit的26个字母的数组,但是我不知道如何随机化。 接受数组 – Tara 2009-12-15 09:00:21

回答

0

最简单的方法是要认识到有26个字母数字字符。因此,生成一个数字在1和26(或0和25)之间,并将该数字转换为A和Z之间的字母。重复200次以获得一个字符串。

1

你不是太遥远。不过,现在你已经编码了,如果你已经发现这个角色是'a',你只会寻找'e'。同上'我','o'和'你'。一步一步想想它,你就会得到它。

0

试着想想如何用函数写这个。另外,假设可变大小等于数组的大小,那么您并没有真正使用found变量。在大多数语言中,传统的循环结束条件不是index <= size – 1,而是index < size

0

下面是一些提示:

  1. 你需要遍历整个 阵列(不需要提前打破)
  2. 使用switch语句简化的if-else(不正确)逻辑你有。
  3. 手柄下部和上部壳体元音(“a”和“A”有 不同的值)