最新C语言实验报告数组.docx

上传人:b****6 文档编号:4590469 上传时间:2022-12-07 格式:DOCX 页数:9 大小:112.26KB
下载 相关 举报
最新C语言实验报告数组.docx_第1页
第1页 / 共9页
最新C语言实验报告数组.docx_第2页
第2页 / 共9页
最新C语言实验报告数组.docx_第3页
第3页 / 共9页
最新C语言实验报告数组.docx_第4页
第4页 / 共9页
最新C语言实验报告数组.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

最新C语言实验报告数组.docx

《最新C语言实验报告数组.docx》由会员分享,可在线阅读,更多相关《最新C语言实验报告数组.docx(9页珍藏版)》请在冰豆网上搜索。

最新C语言实验报告数组.docx

最新C语言实验报告数组

C语言实验报告-数组

C语言实验报告

实验名称

专业

姓名

学号

班级

指导老师

实验七数组

1.实验目的

(1)熟练掌握一维数组、二维数组的定义、初始化和输入/输出方法;

(2)熟练掌握字符数组和字符串函数的使用;

(3)掌握与数组有关的常用算法〔如查找、排序等〕。

2.实验指导

(1)对任意一个一维型数组,从中找出数组元素的最大值和最小值并输出。

要求:

1数组有十个元素;

2使用scanf函数实现数组元素的输入前给出必要的提示;

3输出时,首先输出数组的十个元素,然后输出其最大值和最小值。

分析指导:

1算法分析:

首先定义一个数组,通过循环从键盘输入十个数组元素的值,再通过另一个循环判断数组元素的最大只和最小值;

2根据分析情况编写程序:

#include

main()

{

inta[10],i,max,min;

printf("pleaseinputtenintegers:

");

for(i=0;i<=9;i++)

{

scanf("%d",&a[i]);

}

max=a[0];

min=a[0];

for(i=1;i<=9;i++)

{

if(a[i]>max)

max=a[i];

if(a[i]

min=a[i];

}

for(i=0;i<=9;i++)

{

printf("a[%d]=%d\n",i,a[i]);

}

printf("Themaximumvalueis%d,andtheminimumvalueis%d\n",max,min);

}

运行程序,输入十个整数,如:

213761791289763559

运行结果如下:

(2)编写函数cmpStr(chars1[],chars2[])比较两个字符串s1和s2的大小。

如果s1>s2,返回一个正数;s1=s2,返回0;s1

要求:

1不允许使用strcmp()函数;

2用gets()函数在主函数中输入两个字符串;

3实现触摸屏受托人〔〕函数,返回的正数或负数的绝对值应该是进行比较的两个字符传中相应字符的ASCII码的差值。

分析指导:

1算法分析:

两个字符串从第一个字符开始一一对应进行比较,直到不相等的那个字符,从而求得它们的ASCII码的差值。

比方,‘A’与‘C’相比,由于‘A’<‘C’,应输出负数,由于‘A’与‘C’的ASCII码的差值为2,因此,应输出“-2〞。

同理,“And〞和“Aid〞比较,根据第二个字符比较结果,‘n’比‘I’大5,因此应输出‘5’;

(3)再给定的字符串中查找指定的字符。

要求:

1字符串采用直接初始化的方式处理;

2通过scanf函数读入一个任意字符;

3在字符串中查找该字符,如果存在该字符,输出该字符在字符串中的一次出现的位置,如果再给定的字符串中不存在该字符,那么给出相应的说明信息。

#include

voidmain()

{

inti;

charch;

chars[]="program";

printf("输入一个英文字母:

");

scanf("%c",&ch);

for(i=0;s[i]!

='\0';i++)

{

if(s[i]==ch)

break;

}

if(i<7)

printf("s[%d]=%c\n",i,ch);

else

printf("Nofounded\n");

}

输入一个英文字母O运行程序如下:

再次输入一个英文字母w运行程序如下:

(4)首先输入一个大于二且小于十的整数n,然后定义一个二维整型数组〔n*n〕,初始化该数组,讲述组中最大元素所在的行和最小元素所在的行对调。

要求:

1n*n数组元素的值由scanf函数从键盘输入〔假定最大值最小值不在同一行上〕,然后输出该数组;

2查找最大值最小值所在的行,将数组中最大元素所在的行和最小元素所在的行对调,并输出对调后的数组;

3为直观起见,数组按n行n列的方式输出;

4修改程序,对最大值与最小值可能出现在一行种的情况进行处理。

#include

main()

{

longmatrix[9][9],min,max,temp;

inti,j,n,nMax=0,nMin=0;

printf("\npleaseinputenofmatrix:

\n");

scanf("%d",&n);

printf("\npleaseinputeelementsofmatrix(%d*%d):

\n",n,n);

for(i=0;i

for(j=0;j

scanf("%ld",&matrix[i][j]);

min=max=matrix[0][0];

for(i=0;i

for(j=0;j

{

if(matrix[i][j]>max)

{

max=matrix[i][j];

nMax=i;

}

elseif(matrix[i][j]

{

min=matrix[i][j];

nMin=j;

}

}

for(j=0;j

{

temp=matrix[nMax][j];

matrix[nMax][j]=matrix[nMin][j];

matrix[nMin][j]=temp;

}

printf("\nResultmatrix:

\n");

for(i=0;i

{

for(j=0;j

printf("%5ld",matrix[i][j]);

printf("\n");

}

}

输入一个数4,输入一个4*4的数组

1367

2458

1357

2697

运行程序如下:

再次输入一个数字3,输入一个3*3的数组

123

245

378

运行程序如下:

3实验结论

通过本次实验熟练的掌握一维数组、二维数组的定义、初始化和输入/输出方法以及字符数组和字符串函数的使用,还有就是掌握与数组有关的常用算法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1