实验五 -数组_第1页
实验五 -数组_第2页
实验五 -数组_第3页
实验五 -数组_第4页
实验五 -数组_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验五 数组一、 实验目的1掌握一维数组与二维数组的定义、赋值及输入输出方法。2掌握字符数组和字符串函数的使用。3掌握与数组有关的算法。二、 实验要求1. 熟悉VC6.0环境;2. 按照编程风格要求正确写源程序3. 能得到正确的程序运行结果4. 本实验要求写实验报告。三、 主要仪器及耗材计算机及VC6.0软件四、 基础实验 1. 输入以下程序,查看输出结果。 #include void main() int i,k=5,a10,p3; for(i=0;i10;i+) ai=i; for(i=0;i3;i+) pi=ai*(i+1); for(i=0;i3;i+) k=k+pi*2; printf(“%dn”,k); 输出: 21 2. 输入以下程序,查看输出结果。#include void main() int a23=1,2,3,4,5,6; int b32,i,j; printf(矩阵a为:n); for(i=0;i2;i+) for(j=0;j3;j+) printf(%5d,aij); bji=aij; printf(n); printf(矩阵b为:n); for(i=0;i3;i+) for(j=0;j2;j+) printf(%5d,bij); printf(n); 输出: 矩阵a为: 1 2 3 4 5 6 矩阵b为: 1 2 2 5 3 6 程序功能: 输出一个二行三阶矩阵和一个三阶二行矩阵 3. 程序改错设有4x4的方阵,其中的元素由键盘输入,求出主对角线上元素之和。1 #include2 void main()3 4 int a44;5 int i,j,sum;6 printf(please input the numbers:);7 for(i=0;i=4;i+)8 for(j=0;j=4;j+)9 scanf(%d,&aij);10 for(i=1;i4;i+)11 for(j=1;j4;j+)12 printf(%d,&aij);13 printf(“n”);14 15 printf(n);16 for(i=0;i4;i+)17 for(j=0;j4;j+)18 if(i=j) sum=sum+aij; 19 printf(sum=%dn,sum);20 (1)请填写出错情况:行号出错情况描述出错原因及修改5sum没有赋初值给sum赋值,sum=010i的初值不对应改为i=011j的初值不对应改为j=012多了一个&删除& (2)修改后的程序及运行结果:#include void main()int a44;int i,j,sum=0;printf(please input the numbers:);for(i=0;i4;i+)for(j=0;j4;j+)scanf(%d,&aij);for(i=0;i4;i+) for(j=0;j4;j+)printf(%5d,aij);printf(n);printf(n);for(i=0;i4;i+)for(j=0;j4;j+)if(i=j) sum=sum+aij;printf(sum=%dn,sum);输出: please input the number:48 79 48 16 47 49 28 49 78 49 13 15 16 17 19 17 48 79 48 16 47 49 28 49 78 49 13 15 16 17 19 17 sum=127 4.编程。设有3x3的方阵,对其中的元素值进行初始化,求出方阵中最大的元素。输出示例:#includevoid main() int a33,i,j,max=0; printf(input the numbers:); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) for(j=0;j3;j+) printf(%5d,aij); printf(n); for(i=0;i3;i+) for(j=0;jmax) max=aij; printf(max=%dn,max);五、 拓展实验1. 输入以下程序,查看输出结果。 #include void main() char s110=”ABCDEFG”,S210=”ABCEGFE”; int i=0,n; while(s1i=s2i)&(s1i!=0) i+; n=s1i-s2i; printf(“%dn”,n); 输出: 2.程序填空输出以下图案,要求使用二维数组及双重循环。 #include void main() *,*,*,*,*, , , , , ,*,*,*,*,*, , , , , ,*,*,*,*,*, , , , , ,*,*,*,*,*, , , , , ,*,*,*,*,*; Char59 =0; /初始化二维数组 int i,j;for(i=0;i5;i+) for(j=0;j9;j+) /内层for循环 printf(%c,aij); printf(n); 能使矩阵按行输出 3.程序填空。从键盘上输入一个字符串,要求统计并输出该字符串中各位数字、大写字母、小写字母、空格和其他字符出现的次数。输出示例:#include void main() char str100; int i,num=0,space=0,capital=0,lowercase=0,other=0; /*num表示数字,space表示空格,capital表示大写字母,lowercase表示小写字母,other表示其他字符*/ printf(请输入字符串:); gets(str); for( i=0;stri!=0;i+ ) if( stri=0&stri=a&stri=a&stri=z) lowercase+; else other+; printf(数字数量为:%dn大写字母数量为:%dn小写字母数量为:%dn空格数量为:%dn其他字符数量为:%dn, num,capital,lowercase,space,other); 4.编程。实现简单密码检测程序,对用户输入的密码进行检测,检测正确才能执行后续程序段,否则要求用户重新输入密码,输入三次错误密码后退出程序(假定正确的用户密码为1234)。输出示例: #include void main()int n,flage=0,count;for(count=1;count=3;count+) printf(请输入第%d次密码:,count); scanf(%d,&n); if(n=1234) flage=1; break; else printf(错误密码!按任意键继续!n);if(flage=1)printf(密码正确,欢迎登陆!n);else printf(对不起,你已经三次错误,拜拜!n);六、 综合实验1.输入多个学生某一科的成绩,计算出平均成绩、最高分,最低分,不及格人数。程序输出示例:#include void main()int a100;int i,n,sum,count=0;float average,max,t;printf(输入多少个人的成绩(最多100人):n);scanf(%d,&n); printf(输入%d个成绩:n,n);for(i=0;in;i+)scanf(%d,&ai);sum=0;max=a0;t=a0;for(i=0;in;i+)sum=sum+ai;if(aimax)max=ai;if(ait)t=ai;average=(float)sum/n;printf(本科目的平均分为:%.2fn不及格人数为:%.2fn最高分为:%.2fn最低分为:%dn,average,count,max,t);2.用选择法对10个整数排序,并对排序结果进行输出,要求10个整数用scanf函数输入。程序提示:输入10个整数存放到数组a的a1到a10中输出10个数for(i=1;i6;i+) min=i; for(j=i+1;jaj) min=j; /进过多次比较,找到最小的数的标号交换ai与amin程序输出示例:#include#define n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论