当使用VS2017执行下列输入输出程序时 ,控制台直接闪退:
比如贪心算法的实现时,出现了闪退问题
#include <iostream>
#include <algorithm>
const int N = 1000005;
using namespace std;
double w[N];//古董的重量数组
int main()
{
double c;
int n;
cout << "请输入载重量c及古董个数n:" << endl;
cin >> c >> n;
cout << "请输入每个古董的重量,用空格分开:" << endl;
for (int i = 0; i < n; i++)
{
cin >> w[i];//输入每个物品重量
}
sort(w, w + n);//按古董重量升序排序
double tmp=0.0;
int ans = 0;//tmp为已装载到船上的古董数量,ans为已装载的古董个数
for (int i = 0; i < n; i++)
{
tmp += w[i];
if (tmp<=c)
ans ++;
else
break;
}
cout << "能装入的古董最大数量为Ans=";
cout << ans << endl;
//system("puase");
//getchar();
return 0;
}
解决办法:
1.在程序返回值之前加入system(“pause”);语句。
2.在该执行的项目上点击右键选择“链接器”,然后选择“系统”,在右面的子系统中选择控制台。(用这个办法就可以搞定,很好用)