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
for
I
,我的函数
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:如果你有两个独立的问题,然后你应该写两个独立的帖子。这非常有用,谢谢!:)这非常有用,谢谢!:)