首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这么写对不对?该怎么处理

2012-03-07 
这么写对不对?doublefun(intm){intm,doublex,doubley,doublesy0.0for(m1m 20m++){xdoublelog(dou

这么写对不对?
double   fun(int   m)  
{  
    int   m,double   x,double   y,double   s;  
    y=0.0;  
    for(m=1;m <=20;m++)  
          {x=double   log(double   m);  
            y+=x;  
          }  
    s=sqrt(y);  
    return   s;  
}  

main()  
{     printf( "%f ",fun(20));  
}  

这段程序大概在开始定义的时候就出错了,但是我不知道错在哪里!
能给指导下吗?


[解决办法]
语法问题不少,你应该在熟悉下语法。

double fun(int m)
{
//int m; 重复定义m?
double x = 0;
double y = 0;
double s = 0;
// double x,y,s;
for(m=1;m <=20;m++)
{
x= /*double*/ log(double(m)); //log本来就返回double,
//而且你要转换应该加个(), m要转换的话加()
y+=x;
}
s=sqrt(y);
return s;
}

main()
{ printf( "%f ",fun(20));
}
[解决办法]
int m,double x,double y,double s;
在一行语句里,最多只能声明一种类型的变量。
可改为:
int m;
double x, y, x;

热点排行