收藏 分销(赏)

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

上传人:仙人****88 文档编号:11858694 上传时间:2025-08-15 格式:DOC 页数:10 大小:70.50KB 下载积分:10 金币
下载 相关 举报
实验六-数组——二维数组与字符串.doc_第1页
第1页 / 共10页
实验六-数组——二维数组与字符串.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
淮海工学院计算机科学系 实验报告书 课程名:《 C语言程序设计教程》 题 目: 实验六 数组——二维数组与字符串 班 级: 学 号: 姓 名: 评语: 成绩: 指导教师: 批阅时间: 年 月 日 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<stdio.h> void main() { int a[3][4]={{2,3},{4,2},{1,2,3}}; int b[4][3]={{1,2,3},{2,3,4},{3,4,5}}; int c[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<stdio.h> #include<string.h> const int RS=3; char name[RS][8]; int no[RS]; float degree[RS][40]; void input() { printf("输入数据:"); for(int i=1;i<=RS;i++) { printf("第%d个学生\n",i); printf("姓名:"); scanf("%s",&name[i-1]); printf("学号"); scanf("%d",&no[i-1]); printf("英语成绩:"); scanf("%f",&degree[i-1][0]); printf("程序设计成绩:"); scanf("%f",&degree[i-1][1]); printf("数学成绩:"); scanf("%f",&degree[i-1][2]); degree[i-1][3]=degree[i-1][0]+degree[i-1][1]+degree[i-1][2]; } } void sum() { float s1=0,s2=0,s3=0; printf("统计各科总成绩\n"); for (int i=0;i<RS;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); } void query() { int sel,bh,i; char xm[8]; printf("数据查询\n"); printf("1.姓名 2.学号 请选择:"); scanf("%d",&sel); switch(sel) { case 1:printf("输入姓名:"); scanf("%s",&xm); for(i=0;i<RS;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; case 2:printf("输入学号:"); scanf("%d",&bh); for(i=0;i<RS;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"); } } void main() { input(); sum(); query(); } 法二. #include<stdio.h> void main() { int score[10],i; float yx=0,lh=0,jg=0,bjg=0,aver=0; int max=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) {min=score[i];minn=i;} aver+=score[i]; if(score[i]<60)bjg=bjg+1; else if(score[i]<75)jg=jg+1; else if(score[i]<90)lh=lh+1; else yx=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<stdio.h> void main() { int i,j,k,index; char s1[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<stdio.h> void main() { int a[3][4]={{2,3},{4,2},{1,2,3}}; int b[4][3]={{1,2,3},{2,3,4},{3,4,5}}; int k,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"); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服