




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四 数组实验课程名:高级语言程序设计4 数组专业班级:学号:姓名:实验时间:2016年4月27日实验地点:K4指导教师:一、实验目的及要求1. 掌握一维数组和二维数组的定义、赋值和输入输出的方法;2. 掌握字符数组和字符串函数的使用;3. 掌握与数组有关的算法(特别是排序算法)。 二、实验任务:(一)(1)程序代码:#include #define N 10void main( ) int i,aN;float av=0;for(i=0;iN;i+) scanf(%d,&ai); for(i=0;iN;i+) printf(%d,ai); printf( ); if(i%3=0) printf(n); for(i=0;i!=N;i+) av+=ai; printf(av=%fn,av/10); (2)运行结果:(3)结果分析:当i能被3整除时,就换一次行。(二)实验任务2(1)程序代码:#include void main( )int i,a5,sum=0; for(i=0;i=4;i+) scanf(%d,&ai); for(i=0;i=4;i+) sum+=ai; printf(sum=%dn,sum);(2)程序运行结果:(3)程序分析:使用for循环依次输入5个数,并使5个数相加。(三)实验任务3(1)程序代码:#include int main( )int i,j,row=0,colum=0,max; int a34 = 1,2,3,4, 9,8,7,6, -10,10,-5,2; max=a00; for(i=0;i=2;i+) for (j=0;jmax)max=aij; row=i; colum=j;printf( Max=%d, Row=%d, Colum=%dn, max, row, colum); return 0;(2)程序运行结果:(3)程序分析:分别将这12个元素同max相比较,当某个元素的值大于max时,则将此元素的值赋值给max,最后输出max及最大值的下标。 (四)实验任务 4 (1)程序代码:#include void main( ) int i, x, a10=1,2,3,4,5,6,7,8,9,10; scanf(%d,&x); /*输入x变量的值 */ for ( i=0; i10; i+ ) printf(%4d,ai); printf(n); for(i=0;i10;i+) /* 循环查找与x相等的元素 */ if ( x=ai ) printf(%dn,i); /* 输出查找结论 ,输出下标值 */ else printf(Not found %dn,x); (2)运行结果: (3)程序分析:通过for循环查找与x相等地元素。(五)实验任务 5 (1)程序代码:# include#define N 11int main() int i,j,aN,t,n=10,c,k; printf(输入10个整数:); for(i=0;in;i+) scanf(%d,&ai); /输入10个整数/ printf(n); for(j=0;j9;j+) for(i=0;i9-j;i+) if(aiai+1) t=ai;ai=ai+1;ai+1=t; /比较10个数的大小/ printf(由大到小排序为:n); for(i=0;i10;i+) printf(%d ,ai); /从大到小依次输出者10个数/printf(n);printf(请输入你想插入的一个整数:n);scanf(%d,&c);n=n+1;for(i=0;i=ai) for(j=n-1;ji;j-) aj=aj-1; ai=c; printf(插入后的数组为:n); for(k=0;kn;k+) printf(%d ,ak); printf(n); return 0; (2)运行结果: (3)程序分析:使用起泡算法将这10个数由大到小的顺序排列出来,后使用for循环语句把插入元素后的数组由大到小的顺序排列。(六)实验任务6 (1)程序代码:#includeint main() int a10; int i,k; printf(请输入10个整数:); for(i=0;i10;i+)scanf(%d,&ai); k=0; for(i=1;i10;i+) if(akai) k=i; for(i=k;i9;i+) ai=ai+1; for(i=0;i9;i+) printf(%d ,ai); printf(n); (2)运行结果: (3)程序分析:该程序先将输入的10个数有小到大的顺序列出来,最后输出前9个数。(七)实验任务 7 (1)程序代码:#include void main() float x1000, sum=0.0, ave, a; int n=0, i; printf (Enter mark : n); scanf(%f, &a); while (a=0.0 & n1000) sum+=a; xn= a ; n+; scanf(%f, &a); ave= sum/n ; printf (Output : n); printf (ave = %fn, ave); for (i=0; in; i+) if ( xiave ) printf(%fn, xi); (2)运行结果: (3)程序分析:输入若干个数,以负数为结束标志。使用while选择语句,求出输入的整数的平均值。(八)实验任务 8 (1)程序代码:#includevoid main()int i,j,a66;for(i=0;i6;i+)ai0=1;aii=1;for(i=2;i6;i+)for(j=1;j=i-1;j+)aij=ai-1j-1+ai-1j;for(i=0;i6;i+)for(j=0;j=i;j+)printf(%d ,aij);printf(n); (2)运行结果: (3)程序分析:这可以看做一个6*6的矩阵,通过使用数组级for循环语句将杨辉三角表示出来。(九)实验任务 9 (1)程序代码:#include #include void main() char a10,b10; int c,d,k,ch; scanf(%s,&a); scanf(%s,&b); printf(a=%s,b=%sn,a,b); c=strlen(a); d=strlen(b); if(cd) printf(a=%sn,b); printf(b=%sn,a); else printf(a=%sn,a); printf(b=%sn,b); (2)运行结果: (3)程序分析:使用strlen函数比较两个字符串的长度。(十)实验任务 10 (1)程序代码:#include #include void main( ) char s180, s240; int i = 0, j = 0; printf( n Please input string1:); scanf(%s, s1); printf( n Please input string2:); scanf(%s, s2); while (s1i!= 0 )i+; while (s2j!= 0 )s1i+=s2j +; s1i= 0; printf(n New string: %s, s1); (2)运行结果: (3)程序分析:运行程序的时候先输入country,再输入side,经过程序的运行,实现了将side连接到country的后面形成新的单词countryside,即实现了将第二个字符串连接到第一个字符串的后面从而形成一个新的字符串的功能。(十一)实验任务 11 (1)程序代码:#include stdio.hvoid main () char str1100,str2100; int i,s; printf(n Input string 1:n);gets(str1); printf(n Input string 2:n);gets(str2); i=0; while(str1i=str2i)&(str1i!= ) i+; s=str1i-str2i; printf(%dn,s); 0020 (2)运行结果: (3)程序分析:先输入abcdefg,后输入abceef,让后求出两个字符数组中第一个不同元素的ASCII码之差。(十二)实验任务 12 (1)程序代码:#include #include void main() int num26,i; char c; for(i=0;i26;i+) numi=0; while (c=getchar()!=#) /* 统计从终端输入的大写字母个数*/ if (isupper(c) numc-65+=1; /检查ch是否为大写字母/ for (i=0;i26;i+) /* 输出大写字母和该字母的个数*/ if (numi) printf(%c:%dn,i+65,numi); (2)运行结果: (3)程序分析:(十三)实验任务 13 (1)程序代码:#include#includevoid main() char a50100; /字符数组a50100/ int i=0,max=0,k; printf(请输入字符串,每次输入完成后请按一次“Enter”:n); while(gets(ai)&strcmp(ai,stop) /比较两个字符串/ if(strlen(ai)max) /统计字符数组中字符的个数/ max=strlen(ai);k=i; i+; printf(最长的字符串是:n%sn,ak); (2)运行结果: (3)程序分析:运用while循环及if条件语句,测出每次输入字符串的长度,并比较他们的大小,最后输出最长的字符串。(十四)实验任务 14 (1)程序代码:#include #include void insert(char *p1,char *p2,char pos)int m,n,i;char temp20;m=strlen(p1);n=strlen(p2);for(i=0;in;i+)if(pos=*(p1+i)strcpy(temp,p1+i+1);*(p1+i+1)=0;strcat(p1,p2);strcat(p1,temp); puts(p1);break;void main()char s120, s220;char pos;printf(Please input s1:);gets(s1);printf(Please input s2:);get
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025《企业无息借款合同范本》
- 2025标准车辆买卖合同范文
- 2025农药购买合同版
- 红楼梦高中课件
- 党支部成立培训课件
- 农民参与技术推广服务合作协议
- 新能源行业2025年技术创新:研发投入与产出效益评估报告
- 网络文学IP全产业链布局与2025年价值实现路径研究报告
- 生态修复植被重建技术在2025年成果鉴定与生物防治技术研究报告
- 2025年其他有色金属压延加工行业研究报告及未来行业发展趋势预测
- GB/T 44335-2024精细陶瓷涂层试验方法基于Stoney公式的陶瓷涂层内应力测定
- 水电站进水口启闭机排架结构及配筋计算书
- DZ∕T 0097-2021 工程地质调查规范(1:50 000)(正式版)
- 2022-2023学年河南省郑州市高一下学期期末考试数学试题(解析版)
- 小型化便携式医用雾化器设计研究
- 人力资源管理(初级)(自考) 课件 赵凤敏 第6-10章 人员素质测评-职业生涯管理
- 贵州水库工程施工现场临时用电施工方案(用电量计算)
- translated-2023+BTS临床声明:成人慢性咳嗽
- 寻访红色足迹课件
- 工伤私了协议书:免修版模板范本
- (完整word版)HND商务文化与策略
评论
0/150
提交评论