C语言编程问题:题目计算圆的面积。

#include <stdio.h>
#define PI 3.14159
main()
{ float r,s;
scanf("%f",&r);
s=PI*r*r;
printf("s=%f\n",s);
}
这个是错的。错就错在倒数第二行,应该为:printf("面积=%f\n",s);
求解啊!!
搞错了。为什么我把上面的程序下拉一下,也就是用鼠标滑动一下,再按编译就可以。但是不拉就不行。。好奇怪啊!!我截图把。

#include<stdio.h>

#indefine PI 3.14

int main()

{

float r;

printf("请输入半径:\n");

scanf("%f",&r);

printf("此圆的面积是:\n");

printf("%5.2f",PI*r*r);

}

c语言

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

发展历史

C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。

1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。

20世纪60年代,美国AT&T公司贝尔实验室(AT&T Bell Laboratory)的研究员Ken Thompson闲来无事,手痒难耐,想玩一个他自己编的,模拟在太阳系航行的电子游戏——Space Travel。他背着老板,找到了台空闲的机器——PDP-7。但这台机器没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为PDP-7开发操作系统。后来,这个操作系统被命名为——UNIX。

1970年,美国贝尔实验室的 Ken Thompson,以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。并且他用B语言写了第一个UNIX操作系统。

1971年,同样酷爱Space Travel的Dennis M.Ritchie为了能早点儿玩上游戏,加入了Thompson的开发项目,合作开发UNIX。他的主要工作是改造B语言,使其更成熟。

1972年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。

1973年初,C语言的主体完成。Thompson和Ritchie迫不及待地开始用它完全重写了UNIX。此时,编程的乐趣使他们已经完全忘记了那个"Space Travel",一门心思地投入到了UNIX和C语言的开发中。随着UNIX的发展,C语言自身也在不断地完善。直到今天,各种版本的UNIX内核和周边工具仍然使用C语言作为最主要的开发语言,其中还有不少继承Thompson和Ritchie之手的代码。

C++语言代码在开发中,他们还考虑把UNIX移植到其他类型的计算机上使用。C语言强大的移植性(Portability)在此显现。机器语言和汇编语言都不具有移植性,为x86开发的程序,不可能在Alpha,SPARC和ARM等机器上运行。而C语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。

1977年,Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-03-11
你的派值是double型的,而s值是float型的,这样会使值失去一定的精度,还有main函数需要返回值的,可以写return 0;
第2个回答  2013-01-28
你这个怎么看都是错的

第一,主函数是这样定义的吗
第二,这里乘法运算需要把float型转化为double型
最后,没有返还函数,了return 0;

改正如下:
#include <stdio.h>
#define PI 3.14159
int main()
{
float r,s;
scanf("%f",&r);
s=float(PI*r*r);
printf("面积=%f\n",s);

return 0;
}追问

我想问一下,刚刚我又把之前两个答案都编译了一次。居然成功了。到底是怎么回事。但是有时候又不行,我都晕了。。。要不我截图下来?

追答

这个问题恐怕我回答不了,或许连你的老师无法解释清楚,不必在此纠结,你可以认为是c++ 6.0本身软件的漏洞或者是win 7等操作系统下编译后产生的问题

但是唯一确定的是,你这个程序是不可能通过OJ的

本回答被提问者采纳
相似回答