c++ - 如何阻止 C++ 程序在 Sublime Text 3 上执行
问题描述
我尝试使用自定义构建在 Sublime Text 3 上运行程序。我想我已经进入了一个无限循环。
我已经阅读了一些关于 Sublime Text 3 进入无限循环的其他答案。但他们都没有回答我的问题。
该程序在c++
. 我正在从一个名为的文件中输入文本input.in
并输出到output.out
. 代码中没有任何东西可以变成潜在的无限循环。
output.out
我可以通过删除然后制作另一个同名文件来解决问题。但我不认为这是唯一的方法,也不是最好的方法。有没有人有更好的方法。
我试图从input.in
. 那只会让问题变得更糟。该程序开始0000 0000
向output.out
. 在数千行这样的行之后,它开始打印长度为 4 的字母数字字符串(也可能是不太确定的十六进制数字)我已经尝试从终端杀死崇高的文本。但是当我重新打开它时,文件output.out
仍在填充。我也试过了Cancel Build
。即使这样也无济于事。
我的代码是
#include <stdio.h>
#include <cmath>
#include <bits/stdc++.h>
#define ll long long
#define rep(a,b) for(int i = a; i<b; i++)
#define debug(s) cout<<s
using namespace std;
float err = 1e-7;
int main(){
#ifndef ONLINE_JUDGE
// for getting input from input.txt
freopen("input.in", "r", stdin);
// for writing output to output.txt
freopen("output.out", "w", stdout);
#endif
int a;
while(scanf("%d",&a) == 1){
int ans = 0;
vector<int> v1;
std::vector<int> v2;
for(int i = a+1;i<=2*a;i++){
for(int j = i; j<100000000000; j++){
//printf("checking for i = %d and j = %d\n", i,j);
if(abs(1.0/a-1.0/j - 1.0/i)<err){
//arr.push_back("1/%d = 1/%d + 1/%d\n"+a+j+i) ;
v1.push_back(j);
v2.push_back(i);
ans++;
break;
}
if(1.0/j + 1.0/i < 1.0/a){
break;
}
}
}
printf("%d\n", ans);
for(int i = 0; i<ans; i++){
printf("1/%d = 1/%d + 1/%d\n",a,v1.at(i),v2.at(i));
}
}
}
任何帮助,将不胜感激。
编辑:我没有从终端或 Sublime 文本中出现的小框接受输入。我正在从文件中获取输入,这就是使问题与建议的副本不同的原因。其他方法(例如取消构建)无济于事,这将有助于在 sugested 重复中的提问者
解决方案
推荐阅读
- android - 材质按钮将图标呈现为白色块
- tensorflow2.0 - 如何在不使用 png 文件中包含的调色板的情况下使用 tensorflow 2.x API 解码 png
- python-3.x - EDITED 学习数据不正确
- c++ - .value("key", default) 是否不适用于空的 json 对象?
- javascript - 如何访问从 Firebase 返回的 oauthIdToken?
- python - 当我尝试使用激活函数时出现错误“IndexError:列表索引超出范围”
- c# - 范围选择 DB2 到 VS2013
- reactjs - 简单模态表单需要反应状态?
- python - 绘制带有值的饼图
- c# - 与我所有的存储库/服务类共享我的 dbContext?