main()方法主要负责输出算法。
在这个方法中,主要使用的是算法结构中的顺序结构 如果在比较最大值和最小值的时候可以灵活运用三目运算符号:
<表达式1>?<表达式2>:<表达式3> 例子 int maxumum(int x,int y,int z) { return(x>y&&x>z)?x:((x<y&&y>z)?y:z) } ps: 先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果; 如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。嵌套使用三目运算符,快速求出 最大值或者最小值直接上算法优化:
int leap(int year) { int result; if((year%4==0&&year%100!=0||year&&400=0) result=1; else result=0; return(result); }👆逻辑运算从左到右,在这种多个值作判断的程序里需要善用“与”、“或”、“非”运算来提高效率和代码整洁度。
问题分析: (1)素数是指在一个大于1的自然数中,除了1和它本身之外,不能被其他自然数整除的数。 直接算法优化:
#include "math.h" int isprime(int m) { int i; for(i=2;i<sqrt(m);i++; if(m%i==0) return 0; return 1; }这个优化即除数只需要从2到给定整数的算术平方根即可。因为数不是素数一定可以由两个数相乘得到。