一些C语言练习

一,排序

关键:设置缓冲区d来互换值,以达到大小顺序排列

二,求数组中最大值

关键:将b依次与各数进行比较,遇大的替换,遇小的不变,至最后,即为最大

三,分数正负求和

关键:a为分数累加结果,类型需是浮点类型;flag的1与-1转变可以解决正负交替

四,数数字

关键:1-100中,有9的只有在个位或者十位上,即模10等于9,或除以10等于9;

深入:如果改为有多少个数字内有9,则:

即排除99的两次计数,因为只要if成立,则不会继续else

五,最大公约数

求解的方式比较多,暴力穷举,辗转相除法,更相减损法,Stein算法,这里用辗转相除法

关键:辗转相除法的原理

六,打印100-200之间的素数

1.逐个数进行试除:


注意:每次循环得重置b值,以进行判断是否打印,否则,后果如下:

2.(优化)其实不用完全试除,用 [2,a/2] 即可:

更改:

3.(优化)其实只使用 [2,根号a] 即可:

运用根号的计算,需要用到sqrt函数,函数需要包含头文件math.h,即:

4.(优化)动脑,其实100-200间的素数都是奇数:

可更改:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值