C语言实验报告 数组_第1页
C语言实验报告 数组_第2页
C语言实验报告 数组_第3页
C语言实验报告 数组_第4页
C语言实验报告 数组_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

C语言实验报告 实验名称专业姓名学号班级指导老师实验七 数组1. 实验目的(1) 熟练掌握一维数组、二维数组的定义、初始化和输入/输出方法;(2) 熟练掌握字符数组和字符串函数的使用;(3) 掌握与数组有关的常用算法(如查找、排序等)。2. 实验指导(1) 对任意一个一维型数组,从中找出数组元素的最大值和最小值并输出。要求: 数组有十个元素; 使用scanf函数实现数组元素的输入前给出必要的提示; 输出时,首先输出数组的十个元素,然后输出其最大值和最小值。分析指导: 算法分析:首先定义一个数组,通过循环从键盘输入十个数组元素的值,再通过另一个循环判断数组元素的最大只和最小值; 根据分析情况编写程序:#includemain()int a10,i,max,min;printf(please input ten integers:);for(i=0;i=9;i+) scanf(%d,&ai);max=a0;min=a0;for(i=1;imax) max=ai; if(aimin) min=ai;for(i=0;is2,返回一个正数;s1=s2,返回0;s1s2,返回一个负数,在主函数中调用该函数完成字符串的比较操作,并输出返回的值。要求: 不允许使用strcmp()函数; 用gets()函数在主函数中输入两个字符串; 实现触摸屏受托人()函数,返回的正数或负数的绝对值应该是进行比较的两个字符传中相应字符的ASCII码的差值。分析指导: 算法分析:两个字符串从第一个字符开始一一对应进行比较,直到不相等的那个字符,从而求得它们的ASCII码的差值。比如,A与C相比,由于AC,应输出负数,由于A与C的ASCII码的差值为2,因此,应输出“-2”。同理,“And”和“Aid”比较,根据第二个字符比较结果,n比I大5,因此应输出5; 根据分析情况编写程序:#includeint cmpstr(char s1,char s2)int i,diff;i=0;while(s1i=s2i)&(s1i!=0)i+;if(s1i=0&s2i=0)diff=0;elsediff=s1i-s2i;return diff; void main()int z;char s1100,s2100;printf(input the first string:);/输入字符串1gets (s1);printf(input the second string:);/输入字符串2gets(s2);z=cmpstr(s1,s2);/输出比较结果printf(the difference between two strings is %dn,z);查看运行结果如下:重新输入两个字符串meet,mood运行结果如下:(3) 再给定的字符串中查找指定的字符。要求: 字符串采用直接初始化的方式处理; 通过scanf函数读入一个任意字符; 在字符串中查找该字符,如果存在该字符,输出该字符在字符串中的一次出现的位置,如果再给定的字符串中不存在该字符,则给出相应的说明信息。#includevoid main()int i;char ch;char s= program;printf( 输入一个英文字母: );scanf(%c,&ch);for (i=0;si!=0;i+)if (si=ch)break;if (i7)printf(s%d=%cn,i,ch);elseprintf(No foundedn);输入一个英文字母O运行程序如下:再次输入一个英文字母w运行程序如下:(4) 首先输入一个大于二且小于十的整数n,然后定义一个二维整型数组(n*n),初始化该数组,讲述组中最大元素所在的行和最小元素所在的行对调。要求: n*n数组元素的值由scanf函数从键盘输入(假定最大值最小值不在同一行上),然后输出该数组; 查找最大值最小值所在的行,将数组中最大元素所在的行和最小元素所在的行对调,并输出对调后的数组; 为直观起见,数组按n行n列的方式输出; 修改程序,对最大值与最小值可能出现在一行种的情况进行处理。#includemain()long matrix99,min,max,temp;int i,j,n,nMax=0,nMin=0;printf(nplease inpute n of matrix:n);scanf(%d,&n);printf(nplease inpute elements of matrix(%d*%d):n,n,n);for(i=0;in;i+)for(j=0;jn;j+)scanf(%ld,&matrixij);min=max=matrix00;for(i=0;in;i+)for(j=0;jmax)max=matrixij;nMax=i;else if(matrixijmin)min=matrixij;nMin=j;for(j=0;jn;j+)temp=matrixnMaxj;matrixnMaxj=matrixnMinj;matrixnMinj=temp;printf(nResult matrix:n);for(i=0;in;i+)for(j=0;jn;j+) printf(%5ld,matrixij);printf(n);输入一个数4,输入一个4*4的数组1 3 6 7 2 4 5 8 1 3 5 7 2 6 9 7运行程序如

温馨提示

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

评论

0/150

提交评论