《C语言程序设计》实验报告
实验名称:
系 别 班级:五班
姓 名:
实验日期:
〔组名作为函数的参
:计算机系
学号:
专业:计算机科学与技术
教师审批签字:
实验8数组名作为函数的参数
实验目的
(1)掌握数组名作为函数参数的基本使用方式。
(2)掌握与数组有关的算法(特别是排序算法)。
实验内容或实验题目
编程题目:(题目(1)、题目⑵为一组,题目⑶为一组。每个同学每组都必须 完成1题)
要求:每道题目分别书写程序,试运行(如何输入,结果如何)。
题目(1):编写函数实现将数组元素按从小到人的顺序排序,主函数从键盘输入10个整 数存入数组,调用函数后输出数组的元素。
题目(2):用数组名作为函数参数,编写一个比较两个字符串S和t大小的函数
strcomp(s,t),要求s小丁? t时返回-1, s等丁? t时返回0,s大丁时返回1。在主函数中 任意输入4个字符串,利用该函数求最小字符串。
题目(3):输入6x6的数组,T面的各要求通过编写函数实现,要求用数组名作为函 数参数:
求出对角线上各元素的和;
求出对角线上行、列下标均为偶数的各元素的积;
找出对角线上其值最大的元素和它在数组中的位置。
算法说明
(用文字或流程图说明。)
题目1:
开始
程序清单
题眺
#include
main()
{
int iJ,t,n=10,a[10];
printf(”Pkase enter ten numbers:\nM);
for(i=0;i
{
scanf(n%dn,&a[i]);
}
for(i=0;i
{
for(j=i+l;j
if(a[i] > aU])
{
t = a[j];
a[j] = a[i];
a[i] = t;
for(i=0;i
题目⑶??
^include
main()
{
int c,b,i,j,n=6,d=l,max,sum=0,a[6][6]; for(i=0;i
{
for(j=0;j
{
scanf(H%dH,&a[i][j]);
}
>
max=a[O][O];
for(i=0;i
{
for(j=0;j
{
if(i==j||i+j==5)
sum+=a[i][j];
if((i==j||i+j==5) && i%2==0 && j%2==0) d*=a[i][j];
if((i==j||i+j==5) && a[i]fj]>max)
{
max=a[i][j];
b=i;
c=j;
printf
printf("和为。/od\n 积为 %d\n",sum,d);
printff对角线上最大的元素为%<1\11它在数组中的位置为a[%d][%d]\n",max,b,c);
运行结果
(包括原始数据、相应的运行结果和必要的说明。)
题目⑴:
题目⑶:
分析与思考
调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存 在与实践等。若最终未完成调试,要认真找出错误并分析原因等。
总结:①耍有严密的逻辑思维,最好是看过课本后进行程序设计。②当设计的程序较长, 语法没问题,乂无法得到完全正确的程序时,且难以找出错误在哪时,可转换为分步设 计程序,并依次执行,然后相结合为一个完整的程序,这样也许就能找出哪里出了问题 使程序无法运行出正确的答案了。