为什么它显示错误,即使它看起来很合适? 这是一个C++代码,用于查找给定数的因子。 但问题是它不能产生期望的输出。问题在于处理部分。它只显示因素:并继续处理,并给出一个错误,说明-Untitled.exe已停止工作。请修复错误并提供详细解释。
显然,问题来自于forint i=1;你的意见是什么?arrA是否有足够的元素?嗯,程序似乎进入了无限循环,而不是停止使用输入4。函数定义中缺少返回类型的因子。由于此函数不返回任何内容,我想您可以将其更改为void。为什么它显示错误,即使它看起来很合适? 这是一个C++代码,用于查找给定数的因子。 但问题是它不能产生期望的输出。问题在于处理部分。它只显示因素:并继续处理,并给出一个错误,说明-Untitled.exe已停止工作。请修复错误并提供详细解释。,c++,C++,显然,问题来自于forint i=1;你的意见是什么?arrA是否有足够的元素?嗯,程序似乎进入了无限循环,而不是停止使用输入4。函数定义中缺少返回类型的因子。由于此函数不返回任何内容,我想您可以将其更改为void。 #include <iostream> using namespace std; int factors(int); int main() { int n; cout<<"Enter a number: "; cin>>n;
#include <iostream>
using namespace std;
int factors(int);
int main() {
int n;
cout<<"Enter a number: ";
cin>>n;
factors(n);
return 0;
}
factors(int n){
//To find out factors
int i, arrA[5];
arrA[0]=1;
cout<<"Factors: ";
for(int i=1;i<=n;i++){
for(int j=2;j<=n;j++){
if(n%j==0){
arrA[i]=j;
}
else if(n%j!=0){
i--;
}
}
}
for(int z=0;z < (sizeof(arrA)/sizeof(arrA[0]));z++){
cout<<arrA[z]<<" ";
}
}
#include <iostream>
#include <list>
using namespace std;
void factors(int n, std::list<int> & factors);
int main() {
int n;
cout<<"Enter a number: ";
cin>>n;
std::list<int> fact;
factors(n, fact);
cout<<"Factors: ";
std::list<int>::iterator it=fact.begin();
for(;it!=fact.end();it++)
{
std::cout << *it<<", ";
}
return 0;
}
void factors(int n, std::list<int> & factors)
{
for(int j=2;j<=n;j++){
if(n%j==0){
factors.push_back(j);
}
}
}