技能培训.ppt

上传人:赵** 文档编号:92560844 上传时间:2023-06-08 格式:PPT 页数:16 大小:154KB
返回 下载 相关 举报
技能培训.ppt_第1页
第1页 / 共16页
技能培训.ppt_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《技能培训.ppt》由会员分享,可在线阅读,更多相关《技能培训.ppt(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C 语 言 技 能 培 训2021/9/2711.一维数组应用举例一维数组应用举例例例1:从键盘输入十个整数,以输入顺序相反的顺序输出从键盘输入十个整数,以输入顺序相反的顺序输出#includevoid main()int x10,i;for(i=0;i=0;i-)printf(%6d,xi);2021/9/272例例 2 2 从键盘输入10个学生的成绩求平均分并输出大于平均分的所有成绩。main()main()int i;int s10;float a=0.0;/*定义数组和变量*/printf(Input 10 students scores:n);for(i=0;i10;i+)/*输入成

2、绩*/scanf(%d,&si);for(i=0;i average:n,a);for(i=0;ia)printf(%8d,si);2021/9/273 2.2.二维数组应用举例二维数组应用举例例例 1 1:输出10行扬辉三角形。main()main()int a1010;int a1010;int i,j;int i,j;for(i=0;i10;i+)for(i=0;i10;i+)ai0=1;aii=1;ai0=1;aii=1;for(i=0;i10;i+)for(i=0;i10;i+)for(j=1;ji;j+)for(j=1;ji;j+)/*0,1两行不用计算,j循环不执行*/aij=a

3、i-1j+ai-1j-1;aij=ai-1j+ai-1j-1;/*上一行的同列元素与前一列元素之和*/for(j=0;j=i;j+)printf(%5d,aij);for(j=0;j=i;j+)printf(%5d,aij);printf(n);printf(n);11 11 2 11 3 3 11 4 6 4 1 2021/9/274例例2:打印如下形式的九九乘法表:打印如下形式的九九乘法表.main()int x,y;for(x=1;x=9;x+)for(y=1;y=9;y+)printf(%d*%d=%2d ,x,y,x*y);printf(n);2021/9/2751234567891

4、234567892468101214161836912151821242791827364554637281.例3 循环嵌套,输出九九表ij#include main()int i,j;for(i=1;i10;i+)printf(%4d,i);printf(n-n);for(i=1;i10;i+)for(j=1;j10;j+)printf(j=9)?%4dn:%4d,i*j);2021/9/2763.3.字符数组应用举例字符数组应用举例例例 1:字符数组引用实例。void main()int i,j;char a5=b,a,s,i,c,d,b,a,s,e;/*定义二维字符数组a并赋初值*/fo

5、r(i=0;i=1;i+)for(j=0;j=4;j+)printf(“%c”,aij);/*按行按列逐个输出数组a的各个元素*/printf(“n”);getch();2021/9/277例例 2 2:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#include stdio.hinclude stdio.hmain()main()char c,char c,stringstring81;81;int i,n=0,k=0;int i,n=0,k=0;gets(string);gets(string);for(i=0;c=stringi;i+)for(i=0;c=stringi;i

6、+)if(c=)k=0;if(c=)k=0;else if(k=0)else if(k=0)k=1;k=1;n+;n+;printf(There are%d words in the line n,n);printf(There are%d words in the line n,n);2021/9/278例例3 编一程序,将两个字符串连接起来,不要用编一程序,将两个字符串连接起来,不要用strcat函数函数#include#includevoid main()int i,j;char s130,s210;gets(s1);gets(s2);for(i=0;s1i!=0;i+);for(j=0

7、;s2j!=0;j+)s1i=s2j;i+;s1i=0;puts(s1);2021/9/279函数应用举例函数应用举例例例 1编写一个函数可以判断一个数是否是素数,并利用此函数输出编写一个函数可以判断一个数是否是素数,并利用此函数输出3-100间的所有素数间的所有素数#include#include int prime(int x);void main()int i,n=0;for(i=3;i100;i+)if(prime(i)printf(%6d,i);n+;if(n%10=0)printf(n);printf(n);int prime(int x)int m;for(m=2;msqrt(x

8、);m+)if(x%m=0)return 0;return 1;2021/9/2710例例2 编制一个程序,可以从键盘输入一串字符,倒序输出。编制一个程序,可以从键盘输入一串字符,倒序输出。例如:输入例如:输入ABCD,输出输出DCBA。#include void rev(void);main()rev();void rev(void)char c;c=getchar();if(c!=n)rev();printf(%c,c);2021/9/2711例例3 将一个十进制数转换为二进制数(用递归方法实现)将一个十进制数转换为二进制数(用递归方法实现)void trans(int x)if(x/2!

9、=0)trans(x/2);printf(%d,x%2);x=2if(x/2!=0)trans(1);printf(“%d”,x%2);x=1if(x/2!=0)trans(0)/no exec/printf(“%d”,x%2);x=5if(x/2!=0)trans(2);printf(“%d”,x%2);2021/9/2712例例4 求求n的阶乘的阶乘方法2:用递归法计算#include int ff(int n)int f;if(n0)printf(n0,data error!);else if(n=0|n=1)f=1;else f=ff(n-1)*n;return(f);main()in

10、t n,y;printf(Input a integer number:);scanf(%d,&n);y=ff(n);printf(%d!=%15d,n,y);方法方法1:用循环语句编写用循环语句编写main()long f;int k,n;scanf(%d”,&n);f=1;for(k=1;k=n;k+)f*=k;printf(%d!=%ld,n,f);方法方法1:用循环语句编写用循环语句编写n!=n*(n-1)*2*1方法方法2:用递归法计算用递归法计算n!可用下述公式表示:可用下述公式表示:2021/9/2713指针应用举例指针应用举例main()int i,*p,a7;p=a;for(

11、i=0;i7;i+)scanf(%d,p+);printf(n);for(i=0;i7;i+,p+)printf(%d,*p);p=a;例1 注意指针的当前值2021/9/2714例2 将数组a中的n个整数按相反顺序存放 void inv(int x,int n)int t,i,j,m=(n-1)/2;for(i=0;i=m;i+)j=n-1-i;t=xi;xi=xj;xj=t;main()int i,a10=3,7,9,11,0,6,7,5,4,2;inv(a,10);printf(The array has been reverted:n);for(i=0;i10;i+)printf(%d

12、,ai);printf(n);实参与形参均用数组void inv(int *x,int n)int t,*p,*i,*j,m=(n-1)/2;i=x;j=x+n-1;p=x+m;for(;i=p;i+,j-)t=*i;*i=*j;*j=t;main()int i,a10=3,7,9,11,0,6,7,5,4,2;inv(a,10);printf(The array has been reverted:n);for(i=0;i10;i+)printf(%d,ai);printf(n);实参用数组,形参用指针变量2021/9/2715【例例3】输入输入a、b、c3个整数,按大小顺序输出。个整数,按大小顺序输出。swap(int*pt1,int*pt2)int temp;temp=*pt1;*pt1=*pt2;*pt2=temp;exchange(int*q1,int*q2,int*q3)if(*q1*q2)swap(q1,q2);if(*q1*q3)swap(q1,q3);if(*q2*q3)swap(q2,q3);main()int a,b,c,*p1,*p2,*p3;scanf(%d,%d,%d,&a,&b,&c);p1=&a;p2=&b;p3=&c;exchange(p1,p2,p3);printf(n%d,%d,%d n,a,b,c);2021/9/2716

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com