欢迎来到天天文库
浏览记录
ID:51700726
大小:36.48 KB
页数:7页
时间:2020-03-15
《厦门中软卓越C语言基本算法嵌入式培训.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、厦门中软卓越:C语言基本算法_嵌入式培训 算法是一个程序的灵魂。要成为一名优秀的工程师,一定要对基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。学习嵌入式开发,C语言必须掌握的基础语言,而在C语言的学习中,算法的设计的实质就是建立问题求解的模型。厦门中软卓越IT培训机构陈冲老师为各位要进行嵌入式培训的学员分享关于C语言的基本算法。1、两数交换voidswap(int*a,int*b){inttemp=*a;*a=*b;*b=temp;}2、求数组中最大值intfun(intn[],i
2、ntlen){inti=0;intmax=n[0];for(i=1;imax){max=n[i];}}returnmax;}3、1-100求和intfun(){inti=0;intsum=0;for(i=1;i<=100;i++){sum+=i;}returnmax;}算法:四舍五入floatfun(floath){longt;t=(h*1000+5)/10;/*单精度数h乘以1000后再加5,相当于对h中的第三位小数进行四舍五入除以10后将其赋给一个长整型数时就把第三位小
3、数后的数全部截去*/return(float)t/100;/*除以100,保留2位小数*/}算法:寻找一定数量个比n大(或小)的,满足某些条件的数(1)寻找1000以内能被7或11整除,但不能被7及11同时整除的数,通过数组a返回值,参数n返回个数voidfun(int*a,int*n){inti,j=0;for(i=1;i<=1000;i++)if((i%7==0
4、
5、i%11==0)&&i%77!=0)a[j++]=i;*n=j;}(2)寻找比n大的k个素数,通过数组a返回值,参数n返回个数voidfun(
6、intm,intk,intxx[]){inti,j,n;i=m+1;n=0;while(n=i)/*如果是素数,放入数组xx中*/xx[n++]=i;i++;}}算法:字符数组遍历(1)剔除某些字符(如‘*’)voidfun(char*a){inti,j;j=0;for(i=0;a[i]!=' ';i++)i
7、f(a[i]!='*')a[j++]=a[i];/*若不是要删除的字符'*'则留下*/a[j]=' ';}(2)修改指定字符的大小写(或统计指定字符个数)voidfun(char*a,chart){inti;for(i=0;a[i]!=' ';i++)if(a[i]==t)a[i]=a[i]-32;//大变小,-32,;小变大,+32}(3)统计指定字符个数intfun(char*a,chart){inti;intk;k=0;for(i=0;a[i]!=' ';i++)if(a[i]==t)k++;re
8、turnk;}(4)连接两个字符串voidfun(charp1[],charp2[]){inti,j;for(i=0;p1[i]!=' ';i++);//如果是复制字符串,这段不要,i直接从0开始for(j=0;p2[j]!=' ';j++)p1[i++]=p2[j];p1[i]=' ';}(4)统计tt字符串中,各字母个数,存入pp数组voidfun(char*tt,intpp[]){inti;for(i=0;i<26;i++)pp[i]=0;*初始化pp数组各元素为0*/for(;*tt!=' '
9、;tt++)if(*tt>='a'&&*tt<='z')pp[*tt-'a']++;/*将tt字符串中'a'到'z'26个字母各自出现的次数,依次放在pp数组中,任一个小写字母减去'a'后所得结果正好是它对应的下标*/}算法:找最大(或最小)值(及位置)(1)在一维数组中找最大值,数据个数由参数n带入,用return返回值intfun(inta[],intn)//或:intfun(int*a,intn){inti;intmax;max=*a;//或:max=a[0];for(i=0;i10、or(i=1;i
10、or(i=1;i
此文档下载收益归作者所有