【发布时间】:2014-10-24 06:35:29
【问题描述】:
我是一个完全的初学者。我在 SharpDevelop 上编写了一个小型 C# 程序。这里是:
double i, j;
for(i=1; i<=30; i+=(1/60))
{
for(j=1+1/60; j<=30; j+=(1/60))
{
if(Math.Abs(Math.Log(i)/Math.Log(j)-0.63092975357)<=0.00001)
{
Console.WriteLine("ln("+i+") ln("+j+")");
}
}
}
Console.ReadKey(true);
我的程序应该找到ln(i)/ln(j)=0.63092975357(例如)i和j必须分别等于n/60和m/60的i和j,其中@987654330 @ 和 m 是正整数。 (我知道我可以使用 int 类型而不是 double 类型,但我想让它与 double 类型一起使用。)
但它不起作用。当我点击“运行项目”时,弹出黑屏,但什么也没有发生……而且SharpDevelop没有指出任何错误……
那么我犯了什么错误?以及如何修复我的程序?
【问题讨论】:
-
我建议在第一个
for循环上设置一个断点,单步执行,看看会发生什么。 -
不知道为什么你会被否决,你的问题很明显。详情见我的回答。
-
首先,您需要获取一组您知道应该产生所需结果的值。然后检查你的公式。如果它确实有效,则问题出在
i、j值中。如果不是,那么,修正公式。重复。
标签: c# for-loop sharpdevelop absolute-value