为什么我的程序不能输出 i?
Why won't my program output i?
我的程序应该通过创建函数来找到一个数字的阶乘,并以表格式显示结果。在程序的主体中,我有一个用于i
的cout
,而我的功能factNum i
,但只有factNum i
正在输出?如何做到这一点,以便彼此相邻显示i
和factNum i
?而且,我如何修复我的循环,以便在第一次运行后继续向用户询问数字?
#include <iostream>
#include <cmath>
using namespace std;
int factNum ( int num)
{
int answer = 1;
for (int i = 1; i <= num; i++)
{
answer = answer * i;
}
return answer;
}
int main()
{
int num;
cout << " Enter a number, or -1 to quit: " << endl;
cin>> num;
for (int i= 1; i<=num; i++){
cout<< i << factNum(i)<< endl;
}
if( num == -1)
cout<< " Goodbye! "<< endl;
return 0;
}
在我程序的主体中,我有一个代表我和我的功能 factnum i,但只有事实我正在输出?我该怎么做 我和factnum彼此相邻显示?
您的程序实际上确实会输出i
和i!
彼此相邻:
cout << i << factNum(i) << endl;
数字之间没有空间,所以您看到的是:
11
22
36
424
...
如果您在两个数字之间插入了一个空间:
cout << i << " " << factNum(i) << endl;
您会得到这个:
1 1
2 2
3 6
4 24
...
以及我如何修复我的循环,以便它继续询问 第一次运行后的数字用户?
您可以将main()
中的代码重构为另一个功能,然后在询问用户更多数字后再次调用。我留给你的练习。如果您仍然为此而挣扎,则可以发布另一个问题(但只有在您自己真正尝试过之后)。
只有factnum i正在输出
您确定吗?您是否查看了正在输出的实际数字?尝试添加一个空间。
尝试这个,
int main()
{
int num;
while(1)
{
cout << " Enter a number, or -1 to quit: " << endl;
cin>> num;
for (int i= 1; i<=num; i++)
{
cout<< i << " "<<factNum(i)<< endl;
}
if( num == -1)
cout<< " Goodbye! "<< endl;
}
return 0; }
相关文章:
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- 为什么Qt Creator的应用程序输出不能从spdlog记录器打印
- C 矢量不能输出
- cout 不能一致地打印字符串和变量值,导致输出未对齐
- 为什么我不能从输入文件中检索简单数据并使用C++将其写入输出文件?
- 为什么我的程序不能输出 i?
- 为什么这个向量不能给我与数组相同的输出?
- 为什么我不能输出迷宫的路径?谁能告诉我?请
- 为什么我不能在 QBS 项目中使用控制台输出?
- C++输出到Windows终端使用cout<<term_cc<color,default,attrib>在Windows上正确输出颜色和属性,但在Linux上不能
- 为什么程序不能立即输出?
- 为什么这个程序不能输出正确的异常?
- 为什么我不能通过管道传输两个 execl 调用的输出?
- 为什么采用向量的方法不能采用自己输出的返回向量?
- 为什么linux管道和标准输出不能一起工作
- 不能打开输出文件,没有这样的文件或目录
- 随机数(rand)不能输出未知字符
- Windows CMD不能正确输出UTF-16
- 在程序中不能得到正确的输出
- c++矩阵乘法不能产生正确的输出