网站大量收购独家精品文档,联系QQ:2885784924

C语言复习资料3课件.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言复习资料3课件.ppt

#include stdio.h #include string.h void main() {int alpha=0, num=0,ch=0,word=0,i=0; char c[80]; gets(c); while(c[i]!=EOF) // EOF代表文本结束符,对应输入CTRL+Z { if(c[i]== ||c[i]==\t||c[i]==\n) word++; if(c[i]=ac[i]=z||c[i]=Ac[i]=Z) alpha++; else if (c[i]=0 c[i]=9) num++; else ch++; i++; } printf(字母:%d\t数字:%d\t单词:%d\t其它:%d,alpha, num,word,ch); } * 进制转换 用递归函数实现将一个十进制整数转换成二至十六任意进制的字符 * #include stdio.h void convert(int m,int r) {char b[17]=0123456789ABCDEF; if(m!=0) { convert(m/r,r);printf(%c,b[m%r]); } } void main() {int m,r; scanf(%d%d,m,r); convert(m,r); } * 基本算法 与数组相关的算法 冒泡法排序 选择法排序 查找 删除 插入 求矩阵最大值 找鞍点 字符串排序 最大值调整到主对角线 合并两个有序数组 在数组中删除重复 * 插入 设有一组数据按从小到大顺序存储在数组中,将数据t插入数组中,要求插入后仍然按从小到大排序。数据t由用户通过键盘输入。 * 插入 #include stdio.h int ins(int a[],int n,int x) { int p=0,i ; while (xa[p]pn) p++;printf(p=%d,p); for (i=n; ip-1; i--) a[i+1]=a[i]; a[p]=x; return (n+1); } main() { int a[15]={1,2,44,67,87,89,90,91,92},i,j=55,s; s=ins(a,10,j); for(i=0;is;i++) printf(%4d,a[i]);printf(\n%d,s); } * 求矩阵最大值 在一个3×4的矩阵中,输出其中值最大的元素的值,以及它的行号和列号。 * 求矩阵最大值 #define M 3 #define N 4 #include stdio.h main() {int max,i,j,r,c; static int a[][N]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}}; max=a[0][0]; for(i=0;iM;i++) for(j=0;jN;j++) if (a[i][j]max) {max=a[i][j]; r=i; c=j; } printf(max=%d ,row=%d,colum=%d\n,max,r,c); } * 找鞍点 找出一个二维数组中的鞍点,即该位置上的元素在该行中最大,同时在该列中最小。也可能不存在鞍点,如果有,打印出其位置和值。 * 找鞍点 #include stdio.h #include stdlib.h int main() { int a[3][5],x,y,i,j,k; int max,min; for(i=0;i3;i++) for(j=0;j5;j++) scanf(%d,a[i][j]); for(i=0;i3;i++) { max=a[i][0];y=0; for(k=1;k4;k++) if(maxa[i][k]) {y=k;max=a[i][k];} min=a[i][y];x=i; for(k=0;k3;k++) if(mina[k][y]) {x=k;min=a[k][y];} if(i==x) printf(a[%d][%d]=%d is andian\n,x,y,a[x][y]); } return 1; } * 求两自然数的最大公约数和最小公倍数 分析:用辗转相除法 (1)对于已知两数m,n,使得mn

文档评论(0)

liuxiaoyu99 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档