【发布时间】:2021-03-14 16:12:07
【问题描述】:
当我为小于 5 的偶数运行程序时,它会打印出错误消息,但它也给了我阶乘。我不想要阶乘。这是代码,我该如何更正?
#include <iostream>
using namespace std;
int main()
{
int number, factorial = 1;
cout << "Enter an even number between 5 & 15 to find it's factorial: ";
cin >> number;
if(number % 2 == 0) {
while(number < 5) {
cout << "Error! Enter an even number greater than five: ";
break;
}
while(number > 15) {
cout << "Error! Enter an even number less than fifteen: ";
break;
}
for(int a = 1; a <= number; a++) {
factorial = factorial * a;
}
cout << "factorial of " << number << " is " << factorial;
}
else {
cout << "Error!Enter an even number between 5 & 15 to find it's "
"factorial: ";
}
return 0;
}
【问题讨论】:
-
用你自己的话来说,你认为
break是做什么的?你认为return会做什么? -
break ,好吧,我想它会阻止程序在(在我的情况下)打印后继续执行,如果我删除 break 并运行程序,输出将继续一遍又一遍地打印相同的消息。作为回报,我的理解是它是一个退出代码,用于判断程序执行是否成功。
-
@Baibulu 您对 KarlKnechtel 问题的回答是错误的。我正要输入正确的答案,但实际上你应该在一些教程中阅读这些内容。另外,请注意您没有在回答中提到他,因此他不会收到您回复的通知。我在这条评论中向您致意,以便您了解它是如何完成的(但是由于您是写这篇文章的,所以无论如何您都会看到它)。