一,排序
关键:设置缓冲区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间的素数都是奇数:
可更改: