说我给出了输入
5 10
我期待输出为......
-5 6 7 8 9 10
但我实际上得到了输出......
-5 6 7
这是我的代码。
#include<iostream>
using namespace std;
int main()
{
int prime[1000];
int m,n;
cin>>m>>n;
for(int i=1;i<=n-m+1;i++)
{
prime[i]=m;
m++;
}
for(int i=1;i<=n-m+1;i++)
{
cout<<prime[i];
}
return 0;
}
答案 0 :(得分:0)
为什么要换m? 从i = 0到n-m开始,你需要的下一个数字是i + n:
#include<iostream>
int main()
{
int prime[1000];
int m,n;
std::cin>>m>>n;
for(int i=0;i<=n-m;i++)
{
prime[i]=i+m;
}
for(int i=0;i<=n-m;i++)
{
std::cout << prime[i] << ' ';
}
std::cout << endl;
return 0;
}
答案 1 :(得分:0)
您在for循环中使用m但是您正在更新其值,并且在每次迭代中它都具有不同的值。您可以使用另一个临时变量来存储m的值,如下面的代码所示:
#include<iostream>
using namespace std;
int main()
{
int prime[1000];
int m,n, l;
cin>>m>>n;
l = m;
for(int i=0;i<=n-m;i++)
{
prime[i]=l;
l++;
}
for(int i=0;i<=n-m;i++)
{
cout<<prime[i];
}
return 0;
}