我无法将这笔款项打印出来 我没有收到任何警告等。
在这里尝试做这个问题:http://projecteuler.net/problem=1 该程序运行,然后永远停止。
// Adding multiples of this and following equations
#include "std_lib_cmpt125.h"
void SumMultiple(int Max,int Base)
{
int i=0;
int sum=0;
for(i;i<Max;i+Base)
{
sum=i+sum;
};
cout<<"The sum"<<sum;
}
int main()
{
int base=0;
int max=0;
int sum=0;
cout<<"Please enter the sum's multiple: (ex. 3: 3,6,9,12...)\n";
cin>>base;
cout<<"Please enter the sum's maximum: (ex. 10000)\n";
cin>>max;
SumMultiple(max,base);
return 0;
}
}
答案 0 :(得分:6)
你错过了增加 i ,
for(i;i<Max;i=i+Base)
{
..
}
或者
for(i;i<Max;i+=Base)
{
..
}
答案 1 :(得分:1)
变化:
int i=0;
int sum=0;
for(i;i<Max;i+Base)
{
sum=i+sum;
};
要:
int sum = 0;
for (int i = 0; i < Max; i += Base)
{
sum += i;
}
请注意,原始for
循环中的第一个语句不执行任何操作,i
的值必须递增(这最简单地使用+=
运算符完成),并且闭合支撑后的分号是不必要的。
在C ++中习惯于在循环中声明一个循环变量,以限制其范围并强调其作为计数器的用途。
答案 2 :(得分:1)
你最后有一个额外的大括号},你没有增加我
答案 3 :(得分:0)
更改
for(i;i<Max;i+Base)
{
sum=i+sum;
};
cout<<"The sum"<<sum;
进入
for(i;i<Max;i=i+Base)
{
sum=i+sum;
};
cout<<"The sum"<<sum;
或
for(i;i<Max;i+=Base)
{
sum=i+sum;
};
cout<<"The sum"<<sum;
上面的代码将递增计数器i并显示必要的结果
答案 4 :(得分:0)
此外,您不会得到该功能的答案。问题1是从[1..999]
中寻找3或5的所有倍数的总和试试这个
for ( int i = 1; i < Max ; i++ )
sum += ((i % 3 && i % 5) ? 0 : i ;
return sum