C语言基本算法(简单级别-).doc
《C语言基本算法(简单级别-).doc》由会员分享,可在线阅读,更多相关《C语言基本算法(简单级别-).doc(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、一、基本一、基本 1交换(两量交换借助第三者)交换(两量交换借助第三者)例 1、任意读入两个整数,将二者的值交换后输出。main() int a,b,t;scanf(“%d%d“,printf(“%d,%dn“,a,b);t=a; a=b; b=t;printf(“%d,%dn“,a,b); 【解析】程序中加粗加粗部分为算法的核心,如同交换两个杯子里的饮料,必须借助第三个空杯子。 假设输入的值分别为 3、7,则第一行输出为 3,7;第二行输出为 7,3。 其中 t 为中间变量,起到“空杯子”的作用。 注意注意:三句赋值语句赋值号左右的各量之间的关系! 【应用】 例 2、任意读入三个整数,然后按
2、从小到大的顺序输出。 main() int a,b,c,t;scanf(“%d%d%d“,/*以下两个 if 语句使得 a 中存放的数最小*/if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; /*以下 if 语句使得 b 中存放的数次小*/if(bc) t=b; b=c; c=t; printf(“%d,%d,%dn“,a,b,c);2累加累加累加算法的要领累加算法的要领是形如“s=s+A”的累加式,此式必须出现在循环中才能被反复执行,从而实现累加功能。 “A”通常是有规律变化的表达式,s 在进入循环前必须获得合适的初值,通常为 0。 例 1、求 1+2+
3、3+100 的和。 main() int i,s;s=0; i=1;while(iai+1)t=ai;ai=ai+1;ai+1=t;for(i=0;ian-2) an-1=x ; /*比最后一个数还大就往最后一个元素中存放*/else /*查找待插位置*/j=0;while( jaj) j+;/*从最后一个数开始直到待插位置上的数依次后移一位*/for(k=n-2; k=j; k- -) ak+1=ak;aj=x; /*插入待插数*/ for(j=0;j=i;k-) ak+1=ak;ai=x; /*插入待插数*/for(i=0;i=m main() float x,eps;scanf(“%f%
4、f“,printf(“n%f,%fn“,x,g(x,eps); float g(float x,float eps) int n=1;float s,t;s=1; t=1;do t=t*x/(2*n);s=s+(n*n+1)*t; /*加波浪线的部分为直接法描述部分,t 为递推法描述部分*/n+; while(fabs(t)eps);return s; 四、其他常见算法四、其他常见算法1迭代法迭代法其基本思想是把一个复杂的计算过程转化为简单过程的多次重复。每次重复都从旧值的基础 上递推出新值,并由新值代替旧值。 例如,猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一
5、个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一 半零一个。到第 10 天早上想再吃时,就只剩一个桃子了。编程求第一天共摘多少桃子。 main() int day,peach;peach=1;for(day=9;day=1;day-) peach=(peach+1)*2;printf(“The first day:%dn“,peach);2进制转换进制转换(1)十进制数转换为其他进制数)十进制数转换为其他进制数 一个十进制正整数 m 转换成 r 进制数的思路是,将 m 不断除以 r 取余数,直到商为 0 时止, 以反序输出余数序列即得到结果。 注意,转换得到
6、的不是数值,而是数字字符串或数字串。 例如,任意读入一个十进制正整数,将其转换成二至十六任意进制的字符串。 void tran(int m,int r,char str,int *n) char sb=“0123456789ABCDEF“; int i=0,g;dog=m%r;stri=sbg;m=m/r;i+;while(m!=0);*n=i; main() int x,r0; /*r0 为进制基数*/int i,n; /*n 中存放生成序列的元素个数*/char a50;scanf(“%d%d“,if(x0i-) printf(“%c“,ai);printf(“n“); else exit
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基本 算法 简单 级别
限制150内