初学C语言,你仔细练过这些题目吗?【代码实现细节讲解】

学习编程绝对不能空谈理论,最终还是落实到代码上,这样编程能力才提升得快。
先从一个程序入手:

键盘输入一个圆的半径(r<=100),计算该圆的面积。要求输出的精度保留到小数点后三位。
【输入】输入一个整形数(圆的半径r)
【输出】输出一个浮点数(圆的面积)
圆的面积S=PI * r * r

将实现过程代码化,如下:

#include<stdio.h>
#define PI 3.1415926
int main(){
	double r,S;
	scanf("%lf",&r);
	S=PI*r*r;
	printf("%.3lf",S);
	return 0;
}

这是编程入门中除了在屏幕中打印“Hello World”以外最基础的程序。

前置知识:C语言的数据类型
在这里插入图片描述
【说明】:
①整形(int):
在这里插入图片描述
在这里插入图片描述
②浮点型(float/double):

在这里插入图片描述

(1)预处理命令:
先用#include<>包含头文件stdio.h,任何一个C语言程序都离不开这个头文件。
用#define 宏定义一个常量PI ,赋值为3.1415926,它的作用域直至函数结束。
(2)进入main函数入口
定义分别双精度类型(double)变量,r、S,分别表示半径和面积。
用scanf()函数从键盘中输入半径,要注意输入格式为“%lf”,表示 r 为双精度类型。

分析:我们已经从键盘中输入半径r的值了,如何通过一定的算法得到面积 S ?

利用公式S=PI * r * r 来实现这个过程,将PI * r * r 的值赋给 S 。
利用printf()函数在屏幕中打印 S 的值,打印格式为“%.3lf”,表示精确到小数点第三位处的双精度小数。
函数结束标志,return 0。所有的C语言程序都是以return 0结尾,当然也可以省略,省略是C程序在执行过程中会默认加上这条语句,结束程序。

注意事项
从main()函数入口处开始,语句要满足以下逻辑:
定义/声明局部变量(int/float/double等)——>从键盘中输入变量(scanf)——>算法实现过程(这里的表达式即为实现过程)——>在屏幕中打印变量(printf)——>函数结束(return 0)
在scanf()函数中输入变量值时,不能写成类似于“%.3lf”,“%.4f”之类的格式,即不能在形式上约束输入的小数点位数。
在表达式V=(1.0/3.0)PIrrh中如果我们在程序中写成V=(1/3)PIrrh,会导致(1/3)PIrrh的数据类型与V不匹配,V本身是double型,(1/3)PIrrh由于(1/3)的存在会自动转换成int型,要使(1/3)PIrrh仍为double型,需将1/3变为1.0/3.0。1.0/3.0和1/3在程序中的不同之处在于1.0/3.0的值为小数,而1/3的值会自动舍去小数部分,变为0。

第一题类似题型总结+练习+附上源码
(1)键盘输入一个圆球半径(r<=100),计算该圆的体积。要求输出精度保留到小数点后5位。
【输入】整形数r
【输出】体积V
球的体积 V=(4/3)* PI * r * r * r

(2)键盘输入一个圆柱体的半径(r<=100)和高(h<=100),计算该圆柱体的表面积。要求输出精度保留到小数点后4位。
【输入】两个整形数 r 和 h
【输出】一个浮点数 S
圆柱体的表面积 S=2 * PI * r * r+ 2 * PI * r * h

(3)长度单位换算,已知1m=3.2808ft(英尺),输入一个人的身高(0.4<=h<=2.5),求其身高是多少英尺?要求使用常变量,小数点保留4位精度。
【输入】一个浮点数 h (m)
【输出】一个浮点数 H (ft)
1m=3.2808ft(英尺)

(4)已知1(亩)= 666.666667 平方米,输入亩数(0<=a<=200),将亩数转化为平方数并输出。要求使用常变量,小数点保留6位精度。
【输入】一个浮点数 a (亩)
【输出】一个浮点数 A (平方米)
1(亩)= 666.666667 平方米

(5)输入一个铁质的圆锥体的半径 r 和高度 h,已知铁的密度是 p=7.8 * 10 ^ 3 kg/(m^3),求圆锥体的体积 V和重量 m。要求使用常变量,小数点后保留6位精度。
【输入】两个浮点数,r 和 h
【输出】两个浮点数,V和 m
V=(1/3) * PI * r * r * h
m=p * V

伙伴们,练起来吧!!!
在这里插入图片描述
源码参考
(1)

#include<stdio.h> 
#define PI 3.1415926 
int main(){
	double r,V;
	scanf("%lf",&r);
	V=(4/3)*PI*r*r*r;
	printf("%.5lf",V);
	return 0;
}

(2)

#include<stdio.h> 
#define PI 3.1415926 
int main(){
	double r,h,S;
	scanf("%lf %lf",&r,&h);
	S=2*PI*r*r+2*PI*r*h;
	printf("%.4lf",S);
	return 0;
}

(3)

#include<stdio.h> 
#define k 3.2808
int main(){
	double h,H;
	scanf("%lf",&h);
	H=k*h;
	printf("%.4lf",H);
	return 0;
}

(4)

#include<stdio.h> 
#define k 666.666667
int main(){
	double a,A;
	scanf("%lf",&a);
	A=k*a;
	printf("%.6lf",A);
	return 0;
}

(5)

#include<stdio.h> 
#define p 7.8*10*10*10
#define PI 3.1415926
int main(){
	double r,h,V,m;
	scanf("%lf %lf",&r,&h);
	V=(1.0/3.0)*PI*r*r*h;
	m=p*V;
	printf("%.6lf  %.6lf",V,m);
	return 0;
}
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读