C语言零基础笔记6—分支与循环练习题2

1、写代码将三个数从大到小排列

952dbcd832c341ca99aaf2d5c3db34a3.png

注意⚠️如果你写下 scanf("%d,%d,%d",a,b,c);那么你输入的时候就必须输入1,12,4才行,不然最后的结果是错误的。

2、打印3的倍数-写一个代码打印1-100之间所有的3的倍数的数字。

8aa4dd5997c54731b684bfc55228c1e0.png

3、最大公约数--给定两个数,求这两个数最大公约数

方法:辗转相除法

1c465f9d7c4641069100ec2b170aeff2.png

如果需要我们自行输入的话

那么代码修改为如下:

ce6d7fcd9ca448c1be9b74cc548945d4.png

4、打印1000年到2000年之间的闰年

(条件:能被4整除但不被100整除的是闰年;能被400整除的是闰年)

1546204fbbbe4861afe2797fde614915.png 

换一种写法:表达式

cad2a4d2c0394dd7973de1a59cf8e2c4.png

5、写出100-200之间的素数

6c9e90f2e98c4c0f8886dc1833e39106.png

但我们可以考虑优化我们的代码

如果i=a*b,那么a/b中至少有一个数字<=开平方i

1e43875c6fb543088797f83b0b22995a.png

优化代码后我们试除的次数也减少了很多如下:c84fdb0b6d1c415e8751e6c5095c9182.png  

但我们又可以联想到,偶数肯定都不是素数,所以我们让i从101开始,i+=2,这样可以避开偶数,提高一倍效率,效果如下:

1a3a09c27ee742b2b89d2fde174e3442.png

 

6、数9的个数,编写一下程序数一下1-100的所有整数中出现多少个数字9

d7a2221e87d941efa0092a2860ef5584.png

但是我们发现上面的代码有问题,因为99,被计算了1次,所以我们需要修改代码,需要把else if 修改成if。

b517678fa7f04d118900a1ad940dd7f5.png

7、题目:分数求和,计算一下1/1-1/2+1/3 -1/4+…+1/99-1/100的值,打印出结果

如果我们不考虑有负号的话

81f6d429dad24838877180ed5a9a1a1c.png

那么我们必须设置sum为浮点数

那么如何做到一个加一个减,这里我们设置一个flag。 

2cfd778dc4f5404cb7bad8cc7b849985.png

8、求最大值--求十个整数之间的最大值

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小奶盖儿月月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值