我的任务是:在每种语言中是n个最常用的单词。一天后的一个男孩正在前往瑞典。想要了解瑞典语,第一天他学习z字和接下来的每一天都会比前一天更多地学习k个单词。写一个程序,它会检查一个男孩是否会在d天内成功学习n个单词。使用文件和FOR循环
假设他需要学习100个单词。他有20天。第一天他学到了5个字。接下来的一天,他比前一天多了一个字。
在这种情况下答案应该是:是(他将成功地将持续20天。请吧),和(期间11天,他将学习100个字)。
我写了一段代码。
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
int n, d=0, k, z;
ofstream fr("Rezults.txt");
ifstream fd("Data.txt");
fd>>n>>d>>z>>k;
int learned_words = 0;
for(int i=0; i<d; i++){
learned_words += z;
z = z+k;
}
if(n<=learned_words) {
fr<<"Yes"<<endl;
}
else
{
fr<<"No"<<endl;
}
z=z-d; d=0;
for(int m=0; m<=n; m+=z, z+=k, d++) {}
cout << "You need " << d << " days to learn " << n << " words";
fd.close();
fr<<d;
fr.close();
return 0;
}
你为什么要问,而不是简单地尝试和运行你的代码? –
你的意思是可以计算,而不是计算'n + 1-z'?是的,创建一个新的变量count并执行for(i = z,count = 0; i <= n; i = i + 1,count ++)'。在发布之前,您是否对这个问题有过任何想法? – mah
我不明白你在问什么,对不起。 “计数”是什么意思? – Mat