实验六 数组二维数组与字符串.docx

上传人:b****7 文档编号:16229631 上传时间:2023-07-11 格式:DOCX 页数:11 大小:51.74KB
下载 相关 举报
实验六 数组二维数组与字符串.docx_第1页
第1页 / 共11页
实验六 数组二维数组与字符串.docx_第2页
第2页 / 共11页
实验六 数组二维数组与字符串.docx_第3页
第3页 / 共11页
实验六 数组二维数组与字符串.docx_第4页
第4页 / 共11页
实验六 数组二维数组与字符串.docx_第5页
第5页 / 共11页
实验六 数组二维数组与字符串.docx_第6页
第6页 / 共11页
实验六 数组二维数组与字符串.docx_第7页
第7页 / 共11页
实验六 数组二维数组与字符串.docx_第8页
第8页 / 共11页
实验六 数组二维数组与字符串.docx_第9页
第9页 / 共11页
实验六 数组二维数组与字符串.docx_第10页
第10页 / 共11页
实验六 数组二维数组与字符串.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验六 数组二维数组与字符串.docx

《实验六 数组二维数组与字符串.docx》由会员分享,可在线阅读,更多相关《实验六 数组二维数组与字符串.docx(11页珍藏版)》请在冰点文库上搜索。

实验六 数组二维数组与字符串.docx

实验六数组二维数组与字符串

淮海工学院计算机科学系

实验报告书

 

课程名:

《C语言程序设计教程》

题目:

实验六数组——二维数组与字符串

班级:

学号:

姓名:

 

 

1、实验内容或题目

(1)编写一个程序,计算一个3×4阶矩阵和一个4×3阶矩阵相乘,并打印出结果。

(使用两个二维数组a和b存储两个3×4阶矩阵的元素值,然后用三重for循环进行相乘求值产生二维数组c,最后输出c的各元素值。

(2)已知某班10个学生的姓名、学号,以及英语、程序设计、数学三门课的成绩,编写一个程序,完成下列工作:

·全班每个学生姓名、学号和三门课成绩的输入及总分计算。

·统计各科的总成绩。

·当给出学生姓名或学号时,检索出该生每门功课的成绩及总成绩。

【解】定义一维数组no存储学生学号,二维数组name存储学生姓名,二维数组degree存储学生三门课成绩及总分。

(3)编写一个程序,判定一个字符串是否是另一个字符串的子串。

2、实验目的与要求

1、目的:

(1)进一步学习程序设计的方法和步骤;

(2)掌握循环结构程序设计与数组的结合;

3、实验步骤与源程序

实验步骤

1.建立工程,添加C++源文件,编写程序。

2.调试修改语法错误。

3.编译,链接生成可执行程序。

4.运行程序,检查试验结果。

源代码

(一)#include

voidmain()

{

inta[3][4]={{2,3},{4,2},{1,2,3}};

intb[4][3]={{1,2,3},{2,3,4},{3,4,5}};

intc[3][3],i,j,k,s;

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

for(j=0;j<3;j++)

{

s=0;

for(k=s=0;k<4;k++)

s+=a[i][k]*b[k][j];

c[i][j]=s;

}

for(j=0;j<3;j++)

printf("%4d",c[i][j]);

printf("\n");

}

(二)法一.

#include

#include

constintRS=3;

charname[RS][8];

intno[RS];

floatdegree[RS][40];

voidinput()

{

printf("输入数据:

");

for(inti=1;i<=RS;i++)

{

printf("第%d个学生\n",i);

printf("姓名:

");

scanf("%s",&name[i-1]);

printf("学号");

scanf("%d",&no[i-1]);

printf("英语成绩:

");

scanf("%f",°ree[i-1][0]);

printf("程序设计成绩:

");

scanf("%f",°ree[i-1][1]);

printf("数学成绩:

");

scanf("%f",°ree[i-1][2]);

degree[i-1][3]=degree[i-1][0]+degree[i-1][1]+degree[i-1][2];

}

}

voidsum()

{

floats1=0,s2=0,s3=0;

printf("统计各科总成绩\n");

for(inti=0;i

{

s1+=degree[i][0];

s2+=degree[i][1];

s3+=degree[i][2];

}

printf("英语总成绩:

%g\n",s1);

printf("程序设计总成绩:

%g\n",s2);

printf("数学总成绩:

%g\n",s3);

}

voidquery()

{

intsel,bh,i;

charxm[8];

printf("数据查询\n");

printf("1.姓名2.学号请选择:

");

scanf("%d",&sel);

switch(sel)

{

case1:

printf("输入姓名:

");

scanf("%s",&xm);

for(i=0;i

if

(strcmp(xm,name[i])==0)

{

printf("姓名:

%s\n",xm);

printf("学号:

%d\n",no[i]);

printf("英语成绩:

%g\n",degree[i][0]);

printf("程序设计成绩:

%g\n",degree[i][1]);

printf("数学成绩:

%g\n",degree[i][2]);

printf("总成绩:

%g\n",degree[i][3]);

}

break;

case2:

printf("输入学号:

");

scanf("%d",&bh);

for(i=0;i

if(bh==no[i])

{

printf("姓名:

%s\n",xm);

printf("学号:

%d\n",no[i]);

printf("英语成绩:

%g\n",degree[i][0]);

printf("程序设计成绩:

%g\n",degree[i][1]);

printf("数学成绩:

%g\n",degree[i][2]);

printf("总成绩:

%g\n",degree[i][3]);

}

break;

default:

printf("无此选项!

\n");

}

}

voidmain()

{

input();

sum();

query();

}

法二.

#include

voidmain()

{

intscore[10],i;

floatyx=0,lh=0,jg=0,bjg=0,aver=0;

intmax=0,min=0,maxn,minn;

printf("请输入10位学生的成绩:

");

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

{

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

}

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

{

if(score[i]>max)

{max=score[i];maxn=i;}

if(score[i]

{min=score[i];minn=i;}

aver+=score[i];

if(score[i]<60)bjg=bjg+1;

elseif(score[i]<75)jg=jg+1;

elseif(score[i]<90)lh=lh+1;

elseyx=yx+1;

}

aver/=10;

printf("最高分者:

%d\n",score[maxn]);

printf("最低分者:

%d\n",score[minn]);

printf("平均分为%.2\n",aver);

printf("优秀%.0f人,占比为%.0f%%\n",yx,yx*10);

printf("良好%.0f人,占比为%.0f%%\n",lh,lh*10);

printf("及格%.0f人,占比为%.0f%%\n",jg,jg*10);

printf("不及格%.0f人,占比为%.0f%%\n",bjg,bjg*10);

}

(三)

#include

voidmain()

{

inti,j,k,index;

chars1[20],s2[20];

printf("主字符串:

");

gets(s1);

printf("子字符串:

");

gets(s2);

index=0;

for(i=0;s1[i];i++)

{

for(j=i,k=0;s1[j]==s2[k];k++)

if(!

s2[k+1])

{

index=i;

break;

}

if(index!

=0)

break;

}

printf("位置=%d\n",index);

}

4、测试数据与实验结果(可以抓图粘贴)

5、结果分析与实验体会

感觉这次报告比较难,敲代码的时候感觉自己什么都不会了,看到给出的参考都有些崩溃了,前几次还觉得懂了,这次有感觉回到了初学时期,看来以后要多多努力,现在学到的还只是基础,以后学难的要更加下功夫了。

#include

voidmain()

{

inta[3][4]={{2,3},{4,2},{1,2,3}};

intb[4][3]={{1,2,3},{2,3,4},{3,4,5}};

intk,i,j,c[3][3],s=0;

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

for(j=0;j<=2;j++)

{for(k=0;k<=3;k++)

s+=a[i][k]*b[k][j];

printf("%d",s);

c[i][j]=s;

}

for(j=0;j<=2;j++)

printf("%4d",c[i][j]);

printf("\n");

}

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

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2