我编写了个程序:#include<stdio.h>
#define PI 3.1415926
c(float r)
{
float d;
d=PI*r*2;
return d;
}
s(float r)
{
float h;
h=r*r*PI;
return h;
}
void main()
{
float r;
float S,C;
printf("输入一个圆的半径r:");
scanf("%f",&r);
if(r<0)
printf("错误\n");
S=s(r);
C=c(r);
printf("这个圆的周长为%f\n",C);
printf("这个圆的面积为%f\n",S);
}
为什么我输入一个数例如25.235,但它给出的是C=158.00000,S=2000.00000呢?应该后面的小数点不是0的啊,
c++高手请来
答案:4 悬赏:30 手机版
解决时间 2021-05-06 14:09
- 提问者网友:焚苦与心
- 2021-05-05 20:02
最佳答案
- 五星知识达人网友:深街酒徒
- 2021-05-05 20:21
函数没写返回值,某些编译器默认返回值是int,所以计算结果不对.
全部回答
- 1楼网友:掌灯师
- 2021-05-05 23:05
#include<stdio.h> #define PI 3.1415926 float c(float r) //你没有规定返回类型,所以默认返回类型为Int,所以输出没有小数部分。 { float d; d=PI*r*2; return d; } float s(float r) //同上 { float h; h=r*r*PI; return h; } void main() { float r; float S,C; printf("输入一个圆的半径r:"); scanf("%f",&r); if(r<0) printf("错误\n"); S=s(r); C=c(r); printf("这个圆的周长为%f\n",C); printf("这个圆的面积为%f\n",S); }
- 2楼网友:七十二街
- 2021-05-05 21:52
#include<stdio.h>
#define PI 3.1415926
float c(float r)
{
float d;
d=PI*r*2;
return d;
}
float s(float r)
{
float h;
h=r*r*PI;
return h;
}
int main()
{
float r;
float S,C;
printf("输入一个圆的半径r:");
scanf("%f",&r);
if(r<0)
printf("错误\n");
S=s(r);
C=c(r);
printf("这个圆的周长为%f\n",C);
printf("这个圆的面积为%f\n",S);
getchar();getchar();
}
- 3楼网友:等灯
- 2021-05-05 21:24
#include<stdio.h> #define PI 3.1415926 float c(float r) //表明返回类型为float { float d; d=PI*r*2; return d; } float s(float r) //同上 { float h; h=r*r*PI; return h; } void main() { float r; float S,C; printf("输入一个圆的半径r:"); scanf("%f",&r); if(r<0) printf("错误\n"); S=s(r); C=c(r); printf("这个圆的周长为%f\n",C); printf("这个圆的面积为%f\n",S); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯