C语言第2.3关 实型常量

第1关:任务02-03-01 麦子丰收了

任务描述

小白弟弟家乡的小麦丰收了,收获后的小麦被堆成一个底面圆柱形的粮仓。经测量后得知底面半径为r米,粮仓的高为h米。 假设一立方米麦子重450公斤,请你算一算这堆小麦有多少公斤。 假设每吨小麦的价格是3500元,这堆小麦价值多少元呢。 提示:题目中涉及到圆周率时,取π=3.14159265。

输入格式:

程序输入为两个实数,表示粮仓的底面半径和高。

输出格式:

输出两个实数,即小麦的重量和价值(单位:元),保留到小数点后4位。

输入样例:
 
  1. 1.5 2.5
输出样例:
 
  1. 7952.1564 27832.5474
任务代码
 
  1. #include<stdio.h>
  2. #define PI 3.14159265
  3. int main(){
  4. double r,h,v;
  5. scanf("%lf%lf",&r,&h);
  6. v=PI*r*r*h;
  7. printf("%.4lf %.4lf",v*450.,v*450.00*3.5);
  8. return 0;
  9. }

相关知识-实型常量的表示

实型常量用十进制表示,有如下两种表示方法: 小数形式:3.14159265、-0.618等等。其中小数点前或后的唯一0可以省略,但不能全省略,例如100.、.618、-.618、.0、0.等等都是合法的表示方法。 指数形式:当一个实数很小或很大时,用小数形式表示起来就十分困难,而用指数形式表示则很方便,其格式为:±尾数部分E±指数部分 (E也可小写) 例如:-1.2e+2表示-1.2×102、1.32E-2表示1.32×10-2等等,e或E前后必须都有数字,且E后必须为整数。 不加后缀说明的所有实型常量都被解释成double类型;在实型常量后加上字符f或F后缀,可以将其说明为float类型;在实型常量后加上字符l或L后缀,可以将其说明为long double类型。 例如,常量3.14159265是double类型, 常量3.14159265F就是float类型,常量3.14159265L就是long double类型。

相关知识-符号常量

定义符号常量的格式为:#define 符号常量标识符 值 程序中指令#define PI 3.14159265的意义是定义一个符号常量PI,其值是3.14159265。这样在程序中就可以使用PI来进行运算了。 符号常量的值一经定义,不允许改变。符号常量的定义属于编译预处理指令,通常放在主函数外的程序开始处。实质上是在程序正式编译之前的预处理时,将程序中的所有PI都替换成3.14159265,然后再编译执行。也就是说,符号常量的实质是正式编译前预处理时的替换。

代码分析

1.程序中的3.14159265、450.、450.00、3.5都是合法的实型常量,标识符PI是符号常量。 2.语句double r,h,v;的功能是定义3个double型的变量r,h和v。 3.语句scanf("%lf%lf",&r,&h);的功能是输入2个实数,赋值给变量r和h。%lf是实型数据格式说明符,此处用于输入实数。 4.语句v=PI*r*r*h;的功能是将表达式PI*r*r*h的值赋给左侧的变量v。 5.语句printf("%.4lf %.4lf",v*450.,v*450.00*3.5);的功能是输出格式字符串"%.4lf %.4lf"的内容。 %lf用于输出实型数据,默认输出6位小数,%.4lf在输出实型数据时保留4位小数。 语句首先输出v*450.的值,再原样输出一个空格,再输出表达式v*450.00*3.5的值。

开始你的任务吧,祝你成功!

参考代码:
#include<stdio.h>
#define PI 3.14159265
int main(){
    double r,h,v;
    scanf("%lf%lf",&r,&h);
    v=PI*r*r*h;
    printf("%.4lf %.4lf",v*450.,v*450.00*3.5);
    return 0;
}


第2关:任务02-03-02 男性标准体重

任务描述:

根据世界卫生组织推荐的计算方法,男性标准体重计算方法为(身高cm-80)×70%。 本题目要求读入1个表示某男性身高的实数(单位为米,小数点最多2位),输出此人的标准体重,小数点后保留2位。

输入格式:

输入只有一行,1个实数。

输出格式:

在一行中输出标准体重结果,结果后输出KG。

输入样例:

1.85

输出样例:

73.50KG


开始你的任务吧,祝你成功!

参考代码:
//请在此输入你的代码
    #include<stdio.h>
int main(){
    double a,b;
    scanf("%lf",&a);
    b=(a*100-80)*0.7;
    printf("%.2lfKG",b);
    return 0;
}

第3关:任务02-03-03 实数运算

任务描述

本题目要求读入2个实数,然后分别输出这2个数的和和乘积。

输入格式:

输入只有一行,2个实数用空格分开。

输出格式:

在一行中输出两个值,中间以1个空格分隔,每个值保留小数点后 3位。

输入样例:
 
  1. 3.14159 2.71828
输出样例:
 
  1. 5.860 8.540
提示

题目中的数据请定义double型,输出实型数据时可用%.3lf格式来控制只输出3位小数。


开始你的任务吧,祝你成功!

参考代码:
//请在此输入你的代码
#include<stdio.h>
int main(){
    double a,b,c,d;
    scanf("%lf%lf",&a,&b);
    c=a+b;
    d=a*b;
    printf("%.3lf %.3lf",c,d);
    return 0;
}

第4关:任务02-03-04 计算圆的面积

任务描述

本题目要求读入1个表示圆半径的实数,输出这个圆的面积。程序中的圆周率请取值3.14159265。

输入格式:

输入只有一行,1个实数。

输出格式:

在一行中输出结果,保留小数点后4位。

输入样例:
 
  1. 1.0
输出样例:
 
  1. 3.1416
提示

输出实型数据时可用%.3lf格式来控制只输出3位小数。


开始你的任务吧,祝你成功!

参考代码:
//请在此输入你的代码
#include<stdio.h>
#define PI 3.14159265
int main(){
    double r,s;
    scanf("%lf",&r);
    s=PI*r*r;
    printf("%.4lf",s);
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值