我是社区的新手,但我需要有关括号的帮助,因为他们期望找不到声明和用户定义的函数
//Problem 1.1
#include <iostream>
#include <cmath>
using namespace std;
int intPow(int base, int exponent); // this one has a green line
int main() {
int Base, Expo,final;
cout << "Enter Base value:";
cin >> Base;
cout << "Enter Exponent Value";
cin >> Expo;
final = intPow(Base, Expo);
cout << "Base Exponent of given value:" << intPow;
system("pause");
}
int intPow(int base, int exponent);//and this got a greenline to, telling me that It is not found
{ //and this one got a redline expecting me to put a declaration
for (int a = 0; a <= Expo; a++)
return intPow;
}
我正在Visual Studio 2017 C ++上对此进行编码 谢谢您的帮助
答案 0 :(得分:1)
这不是对原始问题的答案,只是对函数实现的更正:
它不会检查算术溢出。因此,intPow(10, 100)
将失败。负指数也会失败(对于任何负值,返回1)。
int intPow(int base, int exponent)
{
int result = 1;
for (int a = 0; a < exponent; a++) // loop 'exponent' times
result *= base;
return result;
}
原始实现存在一些问题:
Expo
变量在主函数中定义
因此在此功能内不可见答案 1 :(得分:0)
首先请注意您正在执行的操作
cout << "Base Exponent of given value:" << intPow;
代替
cout << "Base Exponent of given value:" << final;
现在您要描述的问题是,在实现该功能时,它期望在定义int intPow(int base, int exponent)
之后找到由方括号分隔的代码块。相反,您要输入分号:
只需:
int intPow(int base, int exponent)//and this got a greenline to, telling me that It is not found
{ //and this one got a redline expecting me to put a declaration
for (int a = 0; a <= Expo; a++)
return intPow;
}
答案 2 :(得分:0)
好的,我终于对函数进行了排序和使用,避免了一些错误,谢谢@RobertKock和@FrancescoBoi。 给我的任务是插入一个底数及其指数,然后我应该显示像这样的底数的指数数量。 4,3(4 ^ 3)= 4 * 4 * 4。 我几乎正确地编写了代码,唯一的问题是字符“ *”紧随for循环。
#include <iostream>
#include <cmath>
using namespace std;
int intPow(int digits, int exponent)
{
int result = 1;
for (int a = 0; a < exponent; a++)
cout << digits<<"*";
result = digits;
return result;
}
int main()
{
int Base, Expo,final;
cout << "Enter Base value:";
cin >> Base;
cout << "Enter Exponent Value:";
cin >> Expo;
final = intPow(Base, Expo);
system("pause");
}