C语言实验报告数组Word文件下载.docx
《C语言实验报告数组Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言实验报告数组Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
(3)掌握与数组有关的常用算法(如查找、排序等)。
2.实验指导
(1)对任意一个一维型数组,从中找出数组元素的最大值和最小值并输出。
要求:
1数组有十个元素;
2使用scanf函数实现数组元素的输入前给出必要的提示;
3输出时,首先输出数组的十个元素,然后输出其最大值和最小值。
分析指导:
1算法分析:
首先定义一个数组,通过循环从键盘输入十个数组元素的值,再通过另一个循环判断数组元素的最大只和最小值;
2根据分析情况编写程序:
#include<
stdio.h>
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;
if(a[i]>
max)
max=a[i];
if(a[i]<
min)
(2)再给定的字符串中查找指定的字符。
1字符串采用直接初始化的方式处理;
2通过scanf函数读入一个任意字符;
3在字符串中查找该字符,如果存在该字符,输出该字符在字符串中的一次出现的位置,如果再给定的字符串中不存在该字符,则给出相应的说明信息。
voidmain()
inti;
charch;
chars[]="
program"
;
printf("
输入一个英文字母:
"
%c"
ch);
for(i=0;
s[i]!
='
\0'
{
if(s[i]==ch)
break;
}
if(i<
7)
printf("
s[%d]=%c\n"
i,ch);
else
Nofounded\n"
输入一个英文字母O运行程序如下:
再次输入一个英文字母w运行程序如下:
(3)首先输入一个大于二且小于十的整数n,然后定义一个二维整型数组(n*n),初始化该数组,讲述组中最大元素所在的行和最小元素所在的行对调。
1n*n数组元素的值由scanf函数从键盘输入(假定最大值最小值不在同一行上),然后输出该数组;
2查找最大值最小值所在的行,将数组中最大元素所在的行和最小元素所在的行对调,并输出对调后的数组;
3为直观起见,数组按n行n列的方式输出;
4修改程序,对最大值与最小值可能出现在一行种的情况进行处理。
longmatrix[9][9],min,max,temp;
inti,j,n,nMax=0,nMin=0;
\npleaseinputenofmatrix:
\n"
n);
\npleaseinputeelementsofmatrix(%d*%d):
n,n);
for(i=0;
n;
for(j=0;
j<
j++)
scanf("
%ld"
matrix[i][j]);
min=max=matrix[0][0];
{
if(matrix[i][j]>
{
max=matrix[i][j];
nMax=i;
}
elseif(matrix[i][j]<
min=matrix[i][j];
nMin=j;
}
for(j=0;
temp=matrix[nMax][j];
matrix[nMax][j]=matrix[nMin][j];
matrix[nMin][j]=temp;
\nResultmatrix:
%5ld"
matrix[i][j]);
输入一个数4,输入一个4*4的数组
1367
2458
1357
2697
运行程序如下:
再次输入一个数字3,输入一个3*3的数组
123
245
378
3实验结论
通过本次实验熟练的掌握一维数组、二维数组的定义、初始化和输入/输出方法以及字符数组和字符串函数的使用,还有就是掌握与数组有关的常用算法