C++ 为什么赢了';我的程序输出不是i吗?
我的程序应该通过创建一个函数来查找数字的阶乘,并以表格格式显示结果。在我的程序主体中,我有一个C++ 为什么赢了';我的程序输出不是i吗?,c++,codeblocks,C++,Codeblocks,我的程序应该通过创建一个函数来查找数字的阶乘,并以表格格式显示结果。在我的程序主体中,我有一个coutforI,我的函数factNum I,但只输出factNum I?如何使I和factNum I彼此相邻显示?另外,我如何修复for循环,以便它在第一次运行后继续向用户询问数字 #include <iostream> #include <cmath> using namespace std; int factNum ( int num) { int answer =
cout
forI
,我的函数factNum I
,但只输出factNum I
?如何使I
和factNum I
彼此相邻显示?另外,我如何修复for循环,以便它在第一次运行后继续向用户询问数字
#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;
}
#包括
#包括
使用名称空间std;
int factNum(int num)
{
int-answer=1;
对于(int i=1;i
仅输出factNum i
你确定吗?你看了输出的实际数字了吗?试着加一个空格
仅输出factNum i
你确定吗?你看了输出的实际数字了吗?试着加一个空格
在我的程序主体中,我有一个cout for I和我的函数
factNum i,但只有factNum i被输出?我如何做到这一点
i和factNum i都显示在一起吗
事实上,您的程序确实会将i
和i!
两种格式并排输出:
cout << i << factNum(i) << endl;
如果在两个数字之间插入空格:
cout << i << " " << factNum(i) << endl;
还有,我如何修复for循环,以便它继续询问
第一次运行后的用户编号
#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;
}
您可以将main()
中的代码重构为另一个函数,并在询问用户更多数字后再次调用该函数。这是我留给您的一个练习。如果您仍在努力解决这个问题,您可以发布另一个问题(但只有在您自己真正尝试过之后)
在我的程序主体中,我有一个cout for I和我的函数
factNum i,但只有factNum i被输出?我如何做到这一点
i和factNum i都显示在一起吗
事实上,您的程序确实会将i
和i!
两种格式并排输出:
cout << i << factNum(i) << endl;
如果在两个数字之间插入空格:
cout << i << " " << factNum(i) << endl;
还有,我如何修复for循环,以便它继续询问
第一次运行后的用户编号
#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;
}
您可以将main()
中的代码重构为另一个函数,并在询问用户更多数字后再次调用该函数。这是我留给您的一个练习。如果您仍在努力解决这个问题,您可以发布另一个问题(但只有在您自己真正尝试过之后)。试试这个
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; }
intmain()
{
int-num;
而(1)
{
库特数;
对于(inti=1;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; }
intmain()
{
int-num;
而(1)
{
库特数;
对于(int i=1;i)您的程序会同时输出i
和i!
。请仔细查看。我保证i
的值会在factNum(i)之前输出
,仔细看。你没有添加空格或任何东西来分隔它们。哈哈,现在我明白了,愚蠢的错误,谢谢大家!你的程序确实同时输出了I
和I!
。仔细看。我保证I
的值在factNum(I)之前就输出了
,仔细一点。你不需要添加空格或任何东西来分隔它们。哈哈,现在我明白了,愚蠢的错误,谢谢大家!谢谢你们的提示!你们能帮我解决for-loop问题吗?@MikeShamus:如果你们有两个独立的问题,那么你们应该发表两篇独立的帖子。谢谢提示!你们能帮我解决for-loop问题吗?@MikeShamus:如果你有两个独立的问题,然后你应该写两个独立的帖子。这非常有用,谢谢!:)这非常有用,谢谢!:)