解题思路:输入圆半径(),输出面积,保留两位小数


注意事项: 1、首先作为初学的自我提醒吧:

                                                        输入的&不能少!!!

                                                        语句末尾;不能少!!!

                2、半径是浮点类型。

                        定义变量时int(占2个或4个字节)是整型,flout(单精度,4个字节)和double(双精度,8个字节)是浮点型。

                        与之对应的,输入半径以及输出面积时注意:整型对应“%d”,浮点型对应“%f”。

                        但输入和输出不一定是同一种类型,例如输入半径是整数,输出面积是三位小数:

int r;
float s;

scanf("%d",&r);

printf("%0.3f",s);

                       当然,这里仅仅是为了说明定义和输入输出的对应问题,省略了很多要素。

               3、输出保留两位小数。

                        “0.2f”

参考代码:

#include<stdio.h>
int main()
{
    float r,s;
    scanf("%f",&r);
    s=r*r*3.1415;
    printf("%0.2f",s);
    return 0;
}


点赞(0)
 

0.0分

22 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 31 条评论

小碗吃饭 1年前 回复TA
@捉迷藏 int是整型,scanf怎么用%f呢
捉迷藏 1年前 回复TA
#include<stdio.h>
int main()
{
     int a;
    float b;
    scanf("%f",&a);
    b=3.1415*a*a;
    printf("%0.2f",b);
    return 0;
}
哪里有问题呢  -~-
编程小顽石 1年前 回复TA
#include<stdio.h>
int main(void)
{
    double a;
    while(scanf("%lf",&a)!=EOF){
    double b;
    b=3.1415*a*a;
    printf("%.2lf\n",b);
    }
    return 0;
}
服了,就因为我Π取得3.14,一直报错,我还以为哪里语法啥的错了,结果。。。。,长记性了,哈哈哈
菜菜的鸟 2年前 回复TA
@xym 是不是缺少了pow()的头文件  #include<math.h>
随声附和 2年前 回复TA
@xym 输出错误了,不要c=
xym 2年前 回复TA
#include<stdio.h>
int main()
{
   double c,f;
    scanf("%lf",&f);
    c=3.141592*pow(f,2);
printf("c=%0.2lf",c);
   return 0;
}
为什么错了?
MusicMan 2年前 回复TA
@黯淡X逸光 定义为double类型时,scanf内部的数值类型为%lf而不是%f
陈鸿志 2年前 回复TA
@好好学习 flout(单精度,4个字节)是不是打错了 应该是float
黯淡X逸光 2年前 回复TA
为什么定义r为double类型时,输入一个2时,sanf("%f",&r)取出来是 0.00
李心语 2年前 回复TA
@好好学习 都可以的。这道题要求保留两位,只要在3.14的基础上多少位都可以,输出是不变的,可以运行一下试试。