我很难想出作业所期望的布尔函数。我只需要一些解释,因为我想编写自己的代码。我应该编写一个 MIPS 代码,它实际上计算字符串中大写、小写、元音、辅音和数字的数量。我正在用 C++ 编写代码,然后我将翻译成 MIPS 程序集。我粘贴了下面的要求,然后是函数 bool consonant(char c) 的样子(我的教授给出的想法)。问题是我似乎遗漏了一些信息来使该功能正常工作。谁能向我提供有关该功能的更多信息?我不需要代码,只需要缺少的细节。您的帮助将不胜感激。
//下面的赋值要求
要确定 ASCII 字符 c 是元音还是辅音,请编写两个函数 bool vowel(char c) 和 bool consonant(char c)。使用堆栈将字符参数传递给这些函数。在测试一个字符是否为元音和辅音时,避免使用长的条件表达式。相反,使用两个包含布尔标志的全局数组(表)来实现元音()和辅音()。例如,名为 is_vowel 的数组对于字符“a”和“A”将具有 true,但对于“b”和“B”将具有 false。
// function that returns 0 if c is a consonant, or 1 if c is not a consonant
bool consonant(char c)
{
const bool is_conson[30]={0,0,...1,1,1,0,0...};
return is_conson[c];
}
//Here is The Code (C++) that I wrote for testing purpose only using Dev-C++
#include <iostream>
#include <math.h>
#include <cstdlib>
using namespace std;
bool consonant(char c)
{
const bool is_conso[30]= {1,1,1,1,0,0,0,0,0,1,0,1,1,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1,0,1};
return is_conso[c];
}
int main()
{
int i;
bool result;
char c;
char sentence[]="aaaabbbbb";
cout<<"the array: ";
cout<<sentence<<endl;
for (i=0; i<9; i++)
{
c=sentence[i];
result=consonant(c);
if (result==0)
cout<<c<<" is a Consonant"<<endl;
}
return 0;
}