帮我看看这个程序,哪里有问题。

chaoyueheike 2009-02-10 02:03:17
#include<math.h>
main()
{
float r,area;
for(r=1;r<=10;r++)
{area=pi*r*r;
if(area>100)break;
printf("%5.2f",area);
}
}
帮我看看哪里是不是有问题,运行的时候他总说undefined symbol '_pi' in module noname.c
他是说的我的pi没有定义么?
...全文
74 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
maldini20040607 2009-02-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 baihacker 的回复:]
C/C++ code#include<math.h>//自己定义pi#definepi (asin(1)*2)intmain()
{floatr,area;for(r=1;r<=10;r++)
{area=pi*r*r;if(area>100)break;
printf("%5.2f\n",area);
}
}
[/Quote]
int main为何没有返回值呢?
waizqfor 2009-02-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 chaoyueheike 的帖子:]
#include <math.h>
main()
{
float r,area;
for(r=1;r <=10;r++)
{area=pi*r*r;
if(area>100)break;
printf("%5.2f",area);
}
}
帮我看看哪里是不是有问题,运行的时候他总说undefined symbol '_pi' in module noname.c
他是说的我的pi没有定义么?
[/Quote]
帮LZ改了一下 现在没问题了 math头文件里没有定义PI的值 要自己去定义

#include <stdio.h>
void main()
{
double pi=3.1415926;
double area=0.0;
int r;
for(r=1;r <=10;r++)
{area=pi*r*r;
if(area>100)
break;
printf("%5.2f\n",area);
}
}
lbh2001 2009-02-10
  • 打赏
  • 举报
回复
#include <stdio.h> 

#define PI 3.1415926

int main(void)
{
int r;
double area;
for (r = 1; r <= 10; ++r)
{
area = PI * r * r;
if (area > 100) break;
printf("%5.2f\n", area);
}

return 0;
}
only_lonely 2009-02-10
  • 打赏
  • 举报
回复
也可以把pi定义为一个常量,总之符号pi在math头文件里是不被定义的,所以系统不知道pi代表的是圆周率,所以你要告诉系统,要么设置一个宏定义,要么声明一个变量,把圆周率的值赋予给它
float pi=3.14;
xxweilw 2009-02-10
  • 打赏
  • 举报
回复

#include <math.h>
#include <stdio.h>

const double pi = 3.1415926;

main()
{
float r,area;
for(r=1;r <=10;r++)
{
area=pi*r*r;
if(area>100)break;
printf("%5.2f",area);
}
}
yellowhwb 2009-02-10
  • 打赏
  • 举报
回复

#include <math.h>
#define PI 3.1415926
int main()
{
float r,area;
for(r=1;r <=10;r++)
{
area=PI*r*r;
if(area>100)break;
printf("%5.2f",area);
}
system("pause");
return 0;
}
baihacker 2009-02-10
  • 打赏
  • 举报
回复
#include <math.h>
//自己定义pi
#define pi (asin(1)*2)
int main()
{
float r,area;
for(r=1;r <=10;r++)
{area=pi*r*r;
if(area>100)break;
printf("%5.2f\n",area);
}
}
only_lonely 2009-02-10
  • 打赏
  • 举报
回复
你没有定义符号 pi呀
要改的话加上一个宏定义

#define pi 3.141592653
#include <math.h>

main()
{
float r,area;

for(r=1;r <=10;r++)
{area=pi*r*r;
if(area>100)break;
printf("%5.2f",area);
}

}
xxweilw 2009-02-10
  • 打赏
  • 举报
回复
是呀,就是说pi在哪定义的呀,可以在main前面加上const double pi = 3.1415926

69,377

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧