C语言小练习(二)

系列文章目录(从第七期开始难度递增,适合C语言期末复习)

C语言小练习(一)
C语言小练习(二)
C语言小练习(三)
C语言小练习(四)
C语言小练习(五)
C语言小练习(六)
C语言小练习(七)
C语言小练习(八)



前言

这是《C语言小练习》栏目的第二篇文章,本文提供计三个小项目供大家练习。

一、计算圆的周长面积

1.宏定义PI

#include<stdio.h>
#define PI 3.14
int main()
{
	float circumference, area;
	int r,p;
	printf("请输入圆的半径:");
	p = scanf("%d", &r);
	if(p=1 && r>0)
	{
	circumference = PI*r*r;
	area = 2*PI*r;
	printf("%2.2f\n%2.2f",circumference ,area);
	}
	else printf("输入错误");
	return 0;
}

2.const定义PI

#include<stdio.h>
int main()
{
	const double PI = 3.14;
	float circumference, area;
	int r,p;
	printf("请输入圆的半径:");
	p = scanf("%d", &r);
	if(p=1 && r>0)
	{
	circumference = PI*r*r;
	area = 2*PI*r;
	printf("%2.2f\n%2.2f",circumference ,area);
	}
	else printf("输入错误");
	return 0;
}

3.题目分析

(1)思路分析: 大家应该熟悉圆的周长和面积的计算公式,也知道 PI(圆周率) 是一个无限不循环小数(通常取3.14来计算),因此这里需要先定义一个常量 PI 为3.14之后方便计算,然后定义周长和面积,自定义输入一个半径的值代入公式即可计算,最后输出结果。
(2)宏定义和const定义的相关分析:
<1>宏定义前加 # 属于预编译处理可以定义代码或字符串、方法、参数,但是const定义不能。
<2>使用大量宏,容易造成编译时间久,每次都需要重新替换,而const定义就比较简便了。
<3>宏定义后不加数据类型,const定义则需要加数据类型。
(3)小数的输出:
<1>要输出小数就不能使用 int 整型变量了,而应该使用 float 和double浮点数,且输出时 %d 要改为 %f。
<2>对于小数位数的确定则应该在 % 和 f 中间加上限定值 m.n,m表示整数的位数,超过会用空格来补齐,n表示小数位数,超过会用0来补齐。
(4)防bug操作: 与第一篇文章的计算长方体的体积的操作相同,可参考上文。

二、求三个数的最大和最小值

1.代码

#include<stdio.h>
int main()
{
	int a, b, c,max ,min;
	printf("请随意输入三个整数:");
	scanf("%d%d%d",&a, &b, &c);
	if(a>b) max = a, min = b;
	else max = b, min = a;
	if(c>max) max = c;
 	else if(c<min) min = c;
 	printf("三者最大为:%d\n三者最小为:%d", max, min);
 	return 0;
} 

2.题目分析

(1) 这个题目知识点不难都是前面讲过的,难就难在算法的设计和条件语句的书写,随机给出三个数要比较它们的大小,作为计算机肯定不能和人一样一眼看出三者的大小,因此这里用到了分而治之(分治)的思想。
(2) 先拿出两个比较,然后在和第三个比较,最后得出最大最小值,大家可以根据代码来认真分析,推演推演,最后不难得出结果。
(3) 同样的思路,大家可以思考如果给出若干个数(用宏定义)来比较大小的算法该如何设计,之后我会给出答案。

三、判断某年是否为闰年

1.代码分析

#include<stdio.h>
int main()
{
	int year;
	printf("请输入一个年份:");
	scanf("%d", &year);
	if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
	printf("该年是闰年");
	else printf("该年不是闰年");
	return 0; 
 }     

2.题目分析

(1)思路分析: 这个题目也比较简单,只要弄清楚何为闰年就可以顺利写出代码。
公历年份是4的倍数,且不是100的倍数或者公历年份是整百数的,必须是400的倍数,这两个条件只需要满足其一就可以判断为闰年。
(2)细节处理:
<1>用取余运算 % 来作为判断的算法。
<2> 或 || 逻辑运算符来连接两个条件。
<3>利用 if-else 语句输出结果。

谢谢观看!!

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

✿小瑞同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值