c++问题 高手帮帮

来源:百度知道 编辑:UC知道 时间:2024/06/17 04:16:12
#include <cstdio>
#include <cstdlib>
#include<math.h>
int main()
{
double result =0.0;
double stepplus = 1.0;
double Devidenum =2.0;
int Basenum =2;
int precision = 2;
int NUM =2;
double tempnum;
int i = 0;
scanf("%d",&precision );
scanf("%d",&Basenum );
scanf("%d",&NUM);
Devidenum = (double)Basenum;
tempnum = (double)NUM;
for(i=0;i<precision ;i++)
{
while(tempnum >= Devidenum)
{
tempnum = tempnum/Devidenum ;
result = result + stepplus ;
}
stepplus = stepplus/2;
Devidenum = sqrt(Devidenum);

}
printf("The result of log%d (%d)is %f\n",Basenum,NUM,result );

}
这段计算对数函数的代码

请问在这段代码中加入什么
使得在编译成独

方法都很多,我帮改了一种方法
#include <cstdio>
#include <cstdlib>
#include<math.h>
int main()
{
double result =0.0;
double stepplus = 1.0;
double Devidenum =2.0;
int Basenum =2;
int precision = 2;
int NUM =2;
double tempnum;
int i = 0;
printf("input precision. -1 exit\n");
while (scanf("%d",&precision ))
{
if (precision<0)
{
break;
}
printf("input Basenum:\n");
scanf("%d",&Basenum );
printf("input NUM:\n");
scanf("%d",&NUM);
Devidenum = (double)Basenum;
tempnum = (double)NUM;
for(i=0;i<precision ;i++)
{
while(tempnum >= Devidenum)
{
tempnum = tempnum/Devidenum ;
result = result + stepplus ;
}
stepplus = stepplus/2;
Devidenum = sqrt(Devidenum); <