【发布时间】:2019-04-09 10:18:25
【问题描述】:
我需要编写一个程序来获取 2 个整数。然后程序将显示两个数字之间所有能被 4 和 6 整除的整数的总和
我试着做下面的代码:
#include <iostream>
using namespace std;
int main()
{
int num1, num2, sum=0;
cout << "Input first number : ";
cin >> num1;
cout << "Input second number : ";
cin >> num2;
for(int i = num1 + 1;i<num2;i++)
{
if ( num1 % 4 == 0 && num2 % 6 == 0)
{
sum = sum + i;
}
}
cout<< "The sum of all integers that are both divisible by 4 and 6 between " << num1 << " and " << num2 << " is " << sum << endl;
system("pause");
return 0;
}
我的预期结果应该是
输入第一个数字:4
输入第二个数字:12
在 4 和 12 之间能被 4 和 6 整除的所有整数之和为 12
“因为 12 是唯一能被 4 和 6 整除的数”
但实际结果是
输入第一个数字:4
输入第二个数字:12
在 4 到 12 之间能被 4 和 6 整除的所有整数之和为 56
【问题讨论】:
-
认为您的意思是检查
i是否可被 4 和 6 整除,而您目前正在检查num1和num2是否分别。此外,如果您想在num1和num2之间进行检查,则需要仔细检查 for 循环的头部。 -
提示:一个数可以被 4 和 6 整除,如果它可以被 12 整除...
-
感谢您在 StackOverflow 上提交问题!请包含足够的代码(包括#include 语句),以便会员可以通过简单的剪切和粘贴来编译您的代码。
-
关于using namespace std...
-
旁注:保持控制台打开不是控制台应用程序的任务。这只会阻止程序在脚本中使用(没有任何主体可以按键......)。所以你不应该做
system("pause")、getchar()或getch()(来自conio.h)之类的事情。相反,首先打开一个控制台(cmd.exe),导航到您的程序并从控制台中启动它...
标签: c++