主要算法总结_第1页
主要算法总结_第2页
主要算法总结_第3页
主要算法总结_第4页
主要算法总结_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主要算法总结2011-8顺序结构程序设计顺序结构程序设计n将两个两位数的正整数将两个两位数的正整数a、b合并形成一个整数合并形成一个整数放在放在c中。运算符中。运算符/和和%的应用的应用 合并的方式是:将合并的方式是:将a的十位数和个位数依次放在的十位数和个位数依次放在c数的千位和十位上,数的千位和十位上,b数的十位和个位数依次数的十位和个位数依次放在放在c数的百位和个位上。数的百位和个位上。 1-3n四舍五入四舍五入:66-3选择结构程序设计选择结构程序设计n字母转换字母转换 40-1,50-2n判断能否构成三角形判断能否构成三角形:49-2nswitch的使用:36-2n统计长整数统计长整

2、数n的各个位上出现数字的各个位上出现数字1、2、3的次的次数:数:47-1循环结构程序设计循环结构程序设计n任意输入一个自然数,把它反序输出任意输入一个自然数,把它反序输出 #includemain( ) long a,i,t=0; scanf(“%ld”,&a); while(a0) i=a%10; t=t*10+i; a=a/10; printf(“n%ld”,t);循环结构程序设计循环结构程序设计n求两个整数的最大公约数和最小公倍数:求两个整数的最大公约数和最小公倍数:辗转相辗转相除法除法 34-2;83-2 r=a%b; while(r!=0) a=b; b=r; r=a%b; b是最

3、大公约数是最大公约数循环结构程序设计循环结构程序设计n从低位开始取出长整型变量从低位开始取出长整型变量s中奇数位上的数,中奇数位上的数,依次构成一个新数放在依次构成一个新数放在t中。高位仍在高位,低中。高位仍在高位,低位仍在低位位仍在低位 (取数字组合新的数据,或计算)(取数字组合新的数据,或计算) 2-22-2;53-1;void fun (long s, long *t)long sl=10; *t = s % 10; while (s 0) s = s/100; *t = s%10 * sl + *t; sl = sl*10; 循环结构程序设计循环结构程序设计n简单的累加问题简单的累加问

4、题n简单的累乘问题简单的累乘问题n拆数字问题拆数字问题43-243-2n求n以内能被5和9整除的数字n关于素数问题: 46-1;49-3n公式计算:公式计算: S=1+1/(1+2)+1/(1+2+3) f(x)=1+x-x2/2!+x3/3!循环结构程序设计循环结构程序设计n排列组合问题:;42-2n迭代法:【28-3;63-2;80-2; 56-3; 】n斐波那契数列:【29-3; 58-2; 75-2;】n二分法:33-2n计算正整数num的各位上的数字之积:5-2;57-2;68-3;49-3;51-1?n打印所有质因子:12-2;n计算并输出给定整数的所有因子之和(不包括1和本身)4

5、1-3数组和指针数组和指针n找一维数组的最大值及其下标:找一维数组的最大值及其下标: 57-3;76-3n求能整除形参求能整除形参x且不是偶数的各整数,并按从小且不是偶数的各整数,并按从小到大的顺序放在到大的顺序放在pp所指的数组中,这些除数的所指的数组中,这些除数的个数通过形参个数通过形参n返回。返回。74-3nm个人的成绩存放在个人的成绩存放在score数组中,请编写函数数组中,请编写函数fun,将低于平均分的人数作为函数值返回,将,将低于平均分的人数作为函数值返回,将低于平均分的分数放在低于平均分的分数放在below所指的数组中。所指的数组中。73-3;44-3n将所有大于将所有大于1小

6、于整数小于整数m的非素数存入的非素数存入xx所指数所指数组中,非素数的个数通过组中,非素数的个数通过k传回。传回。 21-3*;44-2; 68-3*; 数组和指针数组和指针n找一维数组的最大值及其下标:找一维数组的最大值及其下标: 57-3;76-3n求能整除形参求能整除形参x且不是偶数的各整数,并按从小且不是偶数的各整数,并按从小到大的顺序放在到大的顺序放在pp所指的数组中,这些除数的所指的数组中,这些除数的个数通过形参个数通过形参n返回。返回。74-3nm个人的成绩存放在个人的成绩存放在score数组中,请编写函数数组中,请编写函数fun,将低于平均分的人数作为函数值返回,将,将低于平均

7、分的人数作为函数值返回,将低于平均分的分数放在低于平均分的分数放在below所指的数组中。所指的数组中。73-3;44-3n将所有大于将所有大于1小于整数小于整数m的非素数存入的非素数存入xx所指数所指数组中,非素数的个数通过组中,非素数的个数通过k传回。传回。 21-3*;44-2; 68-3*; 数组和指针数组和指针n排序算法:冒泡法和选择法排序算法:冒泡法和选择法 #include main()int a5=12,32,11,54,2;int i,j,temp;for(i=0;i4;i+) n-1趟趟 for(j=0;jaj+1) temp=aj; aj=aj+1; aj+1=temp;

8、for(i=0;i5;i+)printf(%d ,ai);for(i=0;iN-1;i+) k=i; for(j=i+1;jN;j+) if(ajtop)if(m= =amid) printf(%d,mid);break;else if(mamid)top=mid+1;mid=(top+bot)/2; elsebot=mid-1;mid=(bot+bot)/2;if (bot=0;i-) if (ainumber)ai+1=ai;/后移后移 elsebreak;ai+1=number;数组和指针数组和指针n在有序数组中删除一个数(1) 要找到要找到b在数组中的位置在数组中的位置(2) 后面的数

9、组元素依次前移后面的数组元素依次前移,覆盖该位置上的数组元素即可实现删除覆盖该位置上的数组元素即可实现删除for(i=0;in;i+) if(ai=b)break;for(;in-1;i+) ai=ai+1;n-;数组和指针数组和指针n重排数组中元素顺序把数组把数组aa中的偶数元素按原来的先后顺序放在原数组后面。中的偶数元素按原来的先后顺序放在原数组后面。void fun(int aa) int I, j=0,k=0; int bbN; for (I=0;IN; I+) if (aaI%2=0) bbk+=aaI;else aaj+=aaI; for(I=0; Ik; I+,j+)aaj=bb

10、I;数组和指针数组和指针n重排数组中元素顺序将数组中的奇数按原顺序存入数组中,偶数删除将数组中的奇数按原顺序存入数组中,偶数删除34-1*;35-1;98-3将形参将形参a所指数组中的前半部分元素中的值与后半部分对换所指数组中的前半部分元素中的值与后半部分对换【38-1*;39-1;】【;】【41-2*(另一种形式的移位)】【(另一种形式的移位)】【64-1*,65-1;95-3*】再定义一个数组】再定义一个数组数组和指针数组和指针n求二维数组每列(或每行)最小(大)元素 15-3*;58-3;73-1;n矩阵转置:23-3;67-3n元素移位:28-1*;29-1;30-1*;72-1;n关

11、于对角线的操作:31-1*;32-1;33-1;53-2;67-2;n幻方:*70-1;nK行与0行元素交换71-1;数组和指针数组和指针n指向二维数组 29-1;30-1;31-1;69-1 ;72-2n指向字符串数组:19-1;20-1; 21-1:*22-2;59-2;n返回指针值的函数: 函数类型 * 函数名(形参表):*6-3; *9-2;21-2;88-2; 96-2;n指针数组:数据类型 *pn 22-2; n定义指向指针的指针变量(二级指针):数据类型*p:69-3;n指向函数的指针变量:函数类型 (*p)91-1字符串字符串字符排序字符排序:19-3;26-1;71-2;90

12、-2删除字符串中某一下标的字符删除字符串中某一下标的字符:26-3;85-2将字符串转换为整型数将字符串转换为整型数:*55-3(注意有无负号);判断回文判断回文:91-3;字符串中字符移位或插入其它字符字符串中字符移位或插入其它字符*等等:(23-1;*25-1;27-1;)(*60-1;22-1; );*70-3;删除串中的删除串中的*:(31-3;32-3; 34-3;35-3;81-3;82-3;83-3;84-3;85-3)字符串比较字符串比较:81-1;统计一个子串在另一个字符串中出现的次数统计一个子串在另一个字符串中出现的次数: *22-3; *20-3;24-1;*25-3;5

13、6-2;*83-1统计单词统计单词100-3;字符串排序或求长度字符串排序或求长度17-1;(*18-1,19-1)(*20-1;21-1)(82-1;84-1)递归递归:6-2;结构体与链表结构体与链表n11-1 查找指定编号的数据,作为函数值返回,若指定编号不存在,查找指定编号的数据,作为函数值返回,若指定编号不存在,返回数据中的编号为空串(返回值为结构体、结构体数组作为参返回数据中的编号为空串(返回值为结构体、结构体数组作为参数传递)数传递)n12-1:查找指定的一些人,存入数组中,查找指定的一些人,存入数组中,37-3;86-3;87-3;89-3;n85-1(结构体变量间赋值)(结构

14、体变量间赋值)86-1;87-1;88-1;n12-3(查找学生成绩最高的记录,并通过形参指针返回(查找学生成绩最高的记录,并通过形参指针返回 )n52-3(结构体数组排序)(结构体数组排序)62-3;89-1n14-1(结构体变量排序)(结构体变量排序)15-1n36-3(求一个学生各科平均值,注意结构体指针。)(求一个学生各科平均值,注意结构体指针。) 38-3;39-3;n13-1; (简单结构体变量的应用),(简单结构体变量的应用),16-1;结构体与链表结构体与链表n5-1(一个有序链表中插入一个数据,要求仍有序,含产生、输出、插入等)n6-1 每调用一次函数,输出链表尾部结点数据,并释放该结点。n7-1 链表已经递增排序,删除链表中数据域值相同的结点,使之只保留一个。n8-1单向链表,查找数据域值为ch的结点,找到后返回所处的顺序号,否则返回0(9-1;10-1;40-3;9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论