c语言实验报告同名.docx

上传人:b****4 文档编号:27265465 上传时间:2023-06-28 格式:DOCX 页数:10 大小:96.52KB
下载 相关 举报
c语言实验报告同名.docx_第1页
第1页 / 共10页
c语言实验报告同名.docx_第2页
第2页 / 共10页
c语言实验报告同名.docx_第3页
第3页 / 共10页
c语言实验报告同名.docx_第4页
第4页 / 共10页
c语言实验报告同名.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

c语言实验报告同名.docx

《c语言实验报告同名.docx》由会员分享,可在线阅读,更多相关《c语言实验报告同名.docx(10页珍藏版)》请在冰豆网上搜索。

c语言实验报告同名.docx

c语言实验报告同名

《C语言》课内实验报告

学生姓名:

及学号:

学院:

理学院

班级:

课程名称:

实验题目:

数组的应用

指导教师

姓名及职称:

李鹏松教授

方向实验师

刘力实验师

 

《C语言》课内实验

一、实验题目:

数组的应用

二、实验目的:

1.掌握一、二维数组、字符数组的定义、初始化和引用方法及字符串函数的用法。

2.理解与数组有关的算法。

三、实验内容:

1.用起泡法(或称冒泡法)对15、5、9、2、7、11、8、3、12、1共10个整数由小到大排序。

画出N-S算法流程图,编写源程序,给出注释及运行结果。

至少自己修改数据1次,重新运行1个新结果。

2.求A矩阵与B矩阵的和矩阵C。

其中

画出N-S算法流程图,编写源程序,给出注释及运行结果。

至少自己修改数据1次,重新运行1个新结果。

3.编程求出二维数组a的最大元素,同时求出该最大元素所在的行row和列column。

a数组的矩阵表示如下:

画出N-S算法流程图,编写源程序,给出注释及运行结果。

4.定义一个二维数组,存放5个字符串“dog”,“tiger”,“wolf”,“cat”,“horse”,然后用选择法将这5个字符串按由小到大的顺序并输出。

画出N-S算法流程图,编写源程序,给出注释及运行结果。

四、实验结果:

1.#include/*标准输入输出函数库*/

voidmain()/*定义主函数为空类型*/

{

inta[10],i,j,t;/*定义一个长度为10的整型数组,数组名为a,定义i,j,t为整型变量*/

printf("Pleaseinputtennumbers:

\n");/*提示用户输入十个数字*/

for(i=0;i<10;i++)/*给i赋初值为0;如果i小于10,则执行下面的内嵌语句,给i自加1,一直重复这个过程,直到i大于等于10*/

scanf("%d",&a[i]);/*把输入的10个数依次存放在之前定义好的数组中*/

for(j=0;j<9;j++)/*给j赋初值为0;如果j小于9,则执行下面的内嵌语句,给j自加1,一直重复这个过程,直到j大于等于9*/

for(i=0;i<9-j;i++)/*给i赋初值为0;如果i小于9减j,则执行下面的内嵌语句,给i自加1,一直重复这个过程,直到i大于等于9减j*/

if(a[i]>a[i+1])/*如果数组中,第i+1个元素大于第i+2个元素,则执行下面的内嵌语句*/

{

t=a[i];/*把数组中第i+1个元素赋给t*/

a[i]=a[i+1];/*把数组中第i+2个元素放到第i+1的位置,并覆盖该位置原来的元素*/

a[i+1]=t;/*把t中存放的值放到数组的第i+2个位置,并覆盖该位置原来的元素*/

}

printf("\n");/*使光标跳到下一行开头*/

printf("Theresultis:

\n");/*输出Theresultis:

并使光标跳到下一行开头*/

for(i=0;i<10;i++)/*给i赋初值为0;如果i小于10,则执行下面的内嵌语句,给i自加1,一直重复这个过程,直到i大于等于10*/

printf("%d,",a[i]);/*把排列好的十个数依次输出*/

printf("\n");/*使光标跳到下一行开头*/

}

2.#include/*标准输入输出函数库*/

voidmain()/*定义主函数为空类型*/

{

inta[3][4],b[3][4],c[3][4],i,j;/*定义了三个三行四列的二维数组,数组名分别为a,b,c,定义i,j为基本整型变量*/

printf("Pleaseinputa:

\n");/*提示用户输入矩阵a*/

for(i=0;i<=2;i++)/*把0赋给i,当i<=2时,执行下面的内嵌语句,给i自加1,一直进行这个循环,直到i>2*/

for(j=0;j<=3;j++)/*把0赋给j,当j<=3时,执行下面的内嵌语句,给j自加1,一直进行这个循环,直到j>3*/

scanf("%d",&a[i][j]);/*把输入的数值依次存放到数组a中*/

printf("Pleaseinputb:

\n");/*提示用户输入矩阵b*/

for(i=0;i<=2;i++)/*把0赋给i,当i<=2时,执行下面的内嵌语句,给i自加1,一直进行这个循环,直到i>2*/

for(j=0;j<=3;j++)/*把0赋给j,当j<=3时,执行下面的内嵌语句,给j自加1,一直进行这个循环,直到j>3*/

scanf("%d",&b[i][j]);/*把输入的数值依次存放到数组b中*/

for(i=0;i<=2;i++)/*把0赋给i,当i<=2时,执行下面的内嵌语句,给i自加1,一直进行这个循环,直到i>2*/

for(j=0;j<=3;j++)/*把0赋给j,当j<=3时,执行下面的内嵌语句,给j自加1,一直进行这个循环,直到j>3*/

c[i][j]=a[i][j]+b[i][j];/*把数组a中第i+1行,第i+1列的元素与数组b中第i+1行,第i+1列相加,所得到的结果,存放在数组c的第i+1行,第j+1列,并覆盖此位置原来的元素*/

printf("c:

\n");/*输出c:

并使光标移到下一行的开头*/

for(i=0;i<=2;i++)/*把0赋给i,当i<=2时,执行下面的内嵌语句,给i自加1,一直进行这个循环,直到i>2*/

{for(j=0;j<=3;j++)for(j=0;j<=3;j++)/*把0赋给j,当j<=3时,执行下面的内嵌语句,给j自加1,一直进行这个循环,直到j>3*/

printf("%3d",c[i][j]);/*依次输出数组c中的元素*/

printf("\n");/*使光标跳到下一行*/

}

}

 

3.#include/*标准输入输出函数库*/

voidmain()/*定义主函数为空类型*/

{

inta[3][4]={{10,9,2,1},{12,2,11,3},{4,13,21,14}},i,j,max,row,column;/*定义了一个三行四列的二维整型数组,数组名为a,并进行初始化,定义i,j,max,row,column为整型变量*/

max=a[0][0];/*把数组中第一行第一列的元素赋给max*/

for(i=0;i<=2;i++)/*给i赋初值为o,如果i<=2,则执行下面的循环体,然后,i自加1,一直进行这个循环,直到i>2*/

for(j=0;j<=3;j++)/*给j赋初值为o,如果j<=3,则执行下面的循环体,然后,i自加1,一直进行这个循环,直到j>3*/

if(a[i][j]>max)/*判断a[i][j]是否大于max中的值,如果成立,就执行下面的内嵌函数*/

{

max=a[i][j];/*把a[i][j]赋给max*/

row=i+1;/*把i+1中的值赋给row*/

column=j+1;/*把j+1中的值赋给rolumn*/

}

printf("Thebiggestnumberinthesenumbersis%d\nrow=%d\ncolumn=%d",max,row,column);/*输出这个矩阵中的最大数和这个数所在的行,列*/

}

4.

#include/*标准输入输出函数库*/

#include/*包括字符串函数*/

voidmain()/*定义主函数为空类型*/

{

chara[5][6];/*定义一个五行六列的二维字符型数组,数组名为a*/

charstring[10];/*定义了一个包含10个元素的一维字符型数组,数组名为string*/

inti,n;/*定义i,n为基本整型变量*/

for(i=0;i<5;i++)/*给i赋初值为0,当i<5,则执行下面的内嵌语句,给i自加1,一直进行这样的循环,直到i>=5*/

gets(a[i]);/*输入5个字符串*/

for(n=0;n<1000;n++)/*给n赋初值为0,当n<1000,则执行下面的内嵌语句,给n自加1,一直进行这样的循环,直到n>=1000*/

for(i=0;i<5;i++)/*给i赋初值为0,当i<5,则执行下面的内嵌语句,给i自加1,一直进行这样的循环,直到i>=5*/

if(strcmp(a[i],a[i+1])>0)/*如果前一个字符串比后一个字符串大,就执行下面的内嵌语句*/

{

strcpy(string,a[i]);/*把a[i]拷贝到string,并覆盖掉原位置之前的内容*/

strcpy(a[i],a[i+1]);/*把a[i+1]拷贝到a[i]中,并覆盖掉原位置之前的内容*/

strcpy(a[i+1],string);/*把string拷贝到a[i+1]中,并覆盖掉原位置之前的内容*/

}

for(i=0;i<5;i++)/*给i赋初值为0.当i<5,则执行下面的内嵌语句,给i自加1,一直进行这样的循环,直到i>=5*/

printf("%d:

%s\t",i+1,a[i]);/*从大到小输出之前输入的字符串,并给每个字符串编号*/

}

五、实验体会或遇到问题:

在这次的c语言实验中,最后一个题花费的时间最多,应该使字符串这里还住那个我的不够好,以后,多看看书,自己写写书上的程序。

不知道为什么,每次都要写完程序才画得出N-S流程图,不然,一点思路都没有,以后,多多练习先画图,在写程序吧!

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

当前位置:首页 > 总结汇报 > 学习总结

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

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