C++ 关于我的IF陈述和计算的提示
我的代码需要som帮助!对我来说,它看起来不错,但不起作用。我试了又找,但我不知道出了什么问题 我还需要另一个计算的帮助。如果输入2和4,则应计算2*2+3*3+4*4。如果我输入1和3,它应该是1*1+2*2+3*3,我希望你能理解C++ 关于我的IF陈述和计算的提示,c++,C++,我的代码需要som帮助!对我来说,它看起来不错,但不起作用。我试了又找,但我不知道出了什么问题 我还需要另一个计算的帮助。如果输入2和4,则应计算2*2+3*3+4*4。如果我输入1和3,它应该是1*1+2*2+3*3,我希望你能理解 #include <iostream> #include <math.h> using namespace std; void sort(float & tal1, float & tal2); int main()
#include <iostream>
#include <math.h>
using namespace std;
void sort(float & tal1, float & tal2);
int main() {
float x, y;
int sum, i, a, m, val;
cout << "Give to numbers: " << endl;
cout << "Type one number \n";
cin >> x;
cout << "Type another number \n";
cin >> y;
if (x > y) {
sort(x, y);
}
cout << x << " och " << y << endl;
cout << "Choose between a and m! " << endl;
cin >> val;
if (val == 'a') {
sum = 0;
for (int i = x; i <= y; i++)
sum += i;
cout << "Sum = " << sum << endl;
} else if (val == 'm') {
sum = 1;
for (int i = x + 1; i < y; i++) {
sum *= i;
cout << "Sum = " << sum << endl;
}
}
}
void sort(float & tal1, float & tal2) {
float temp = tal1;
tal1 = tal2;
tal2 = temp;
}
这应该改为
for( int i = x ; i <= y ; i++ ){
sum +=(i*i);
cout << "Sum = "<< sum <<endl;
}
我想您必须修改检查val是否为m的else分支
else if (val == 'm')
{
sum = 0;
for (int i = x; i <= y; i++)
{
sum += i*i;
cout << "Sum = "<<sum<<endl;
}
}
它以什么方式不起作用?结果错了吗?它会引发异常吗?不编译?更多的信息将导致更好的答案:这不起作用,你需要更具体。哪一行不起作用?它说的是总和,在几个地方应该说是乘积。你没有复制和粘贴,是吗?浮点输入看起来也有点不确定。
else if (val == 'm')
{
sum = 0;
for (int i = x; i <= y; i++)
{
sum += i*i;
cout << "Sum = "<<sum<<endl;
}
}