C语言作为多数工科学校编程入门的教学工具语言,是很多朋友开启编程世界大门的钥匙。今天,承接上一篇C语言经典算法(一),我继续给大家带来C语言经典算法,欢迎大家与小编多多交流。 六、99乘法口诀表 具体实现代码如下,算法关键在于使用两个for循环,外循环控制换行,内循环控制每一行的具体输出规则。 程序运行结果如下 七、寻找“水仙花数” 所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。比如,407是一个“水仙花数”,因为407=4的三次方+0的三次方+7的三次方。这个算法的关键是提取三位数的每一位数。 运行结果如下 八、分解质因数 比如,把60分解质因数,就是指把60拆解成 60=2x2x3x5的结构。 代码如下,把168拆解质因数。 main() { int exa=168,i; printf('%d=',exa); for(i=2;i<> { while(exa!=i) { if(exa%i==0) { printf('%d*',i); exa=exa/i; } else break; } } printf('%d',exa); printf('\n'); } 运行结果如下 九、a和b最大公约数 求解两个数a和b的最大公约数,也叫最大公因数,是指两个或多个整数共有约数中最大的一个,比如,12和4的最大公约数是4,32和12的最大公约数是4。求解两个数的最大公约数,比较常见的算法是碾转相除法。代码如下。 main() { int a,b,num1,num2,temp; printf('请输入两个正整数\n'); scanf('%d %d',&num1,&num2); if(num1<> { temp=num1; num1=num2; num2=temp; } //将较大数存储在num1里面 a=num1;b=num2; while(b!=0)/*利用辗除法,直到b为0为止*/ { temp=a%b; a=b; b=temp; } printf('最大公约数是%d\n',a); } 运行测试结果: 十、判断回文数 回文数,是指左右对称的一类数,比如123454321,688886。编程实现判断,可以使用字符数组存储各位。然后分别从首位判断是否符合对称条件。 main() { int i,j; char s[16]; printf('请输入整数\n'); scanf('%s',s); for(i=0,j=strlen(s)-1;i<> if(s[i]!=s[j]) break; if(i>=j) printf('%s是回文数!\n',s); else printf('%s不是回文数!\n',s); } 下面是测试样例: 今天的经典算法介绍暂时就到这里,有任何问题请评论、点击订阅我们的媒体号逸凡网络,谢谢您的支持哦,我会持续更新,给大家带来更多干货哦。 |
|