欢迎来到天天文库
浏览记录
ID:42194012
大小:379.58 KB
页数:15页
时间:2019-09-09
《《c语言程序设计上机指导》(精品高职)项目四》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、项目四数组及其应用【实验内容、步骤】1、检查所用计算机是否己经安装VisualC++2012o2、进入VisualC++2012的工作环境。3、编程示例,观察与验证。输入并运行下面的程序,分析运行结果。【任务实施】实验一维数组元素的输入输出示例源程序4-1:#includevoidmain(){inti,a[10];for(i=0;iv10;i++)a[i]=2*i+1;for(i=9;i>=0;i—)printf(u%d,a[i]);}本程序有以下功能:把前10个奇数赋值给数组a,然后按从大到小的顺序输岀。我们在运行环境中输入源代码,并运行,
2、会得到以下结果:QBC:Windowssystem32cmd.exe19切请按任意键继续・•・图运行结果图我们可以得出结果:191715131197531若把第5行for(i=0;iv10;i++)改成for(i=1;iv10;i++),我们就会的出如下图所示的结果,大家可以仔细的比较,会发现最后会出现a[0]的值“-858993460”。因为修改后的程序a[0]中的值为随机数。园C:Windowssystem32cmd.exe19171513119753-858993460请按任意键继续•••图4-1-2运行结果图大家还要注意:第7、8行若改成pr
3、intfC%dn,a),得出的运行结果会乱码,%d表示取地址内的值,因为程序中a的地址不能确泄,它不是数组中的元素。结果如下图所示。2227656222?6562227656222?656222765622276562227656222?65622276562227656请按任意键继续•••■图4-1-3运彳丁结果图根据原有程序,若想实现奇数从键盘输入,程序就应改写为:□voidJsainO{inti;chara[10];for(i=0;i<10;i++){a[i]=;}for(i=9;i>=0;i—){printfC9a[i]);}图4-1-4源程序图我们把数
4、组a[10]声明成char类型,在使用函数getchar()从键盘接收字符存入数组屮,运行结果如下图所示。图4・1・5运行结果图注意:从键盘输入的是字符,所以使用函数printf输11!吋要使用%。的格式。另外在for()语句中要省略其中的表达式只需留空不写该表达式,如第5行for()语句的表达式3“i++”如果省略,切记分号“;”不可省去,程序修改如下:#include□voidssainO{intija[10];for(i=0;i<10;){a[i]=2*i+1;i++;1for(i=9;i>=0;i—){printfya[i]):}}图4
5、-1-6源程序图大家会得到同样的运行结果,如下图所示。處C:Windowssystem32cmd.exe[9切[513门97531请按任意键继续•••实验4-2二维数组元素的输入输出示例源程序4-2:#include#defineN3#defineM3voidmain(){inti,a[N][M],sum=O;for(i=0;ivN;i++)for(j=0;jvM;j++)scanf(“%d,&a[i][j]);sum=sum4-a[i][j];printf(“%d"'sum);}该程序有以下功能:输入一个3*3矩阵的数据,输出矩阵元素Z
6、和。观察与验证:首先我们观察源程序会发现几个问题:(1)程序中有变量j没有声明无法使用,无法通过编译。(2)应将没有声明的变量根据程序声明成int型。我们应将源程序修改如下图所示:#include#defineN3#defineM3□void{inti3j,a[N][M]3sum=0;for(i=0:i7、scanf(“%d,a[i][j]);”,漏掉了符号&,此时程序运行错误,因为程序无法把数据写到a[i][j]地址。scanf读取整数型参数2是写入缓存的地址而不是变量本体。实验4・3字符数组应用示例源程序4-3:#include#includevoidmain()chars1[80],s2[40];inti=0,j=0;printf(HPleaseinputstring1:H);scanf(”%s”,s1);printf("Pleaseinputstring2:*');scanf("%s,,,s2);while(s8、1[i]!=' ・)i
7、scanf(“%d,a[i][j]);”,漏掉了符号&,此时程序运行错误,因为程序无法把数据写到a[i][j]地址。scanf读取整数型参数2是写入缓存的地址而不是变量本体。实验4・3字符数组应用示例源程序4-3:#include#includevoidmain()chars1[80],s2[40];inti=0,j=0;printf(HPleaseinputstring1:H);scanf(”%s”,s1);printf("Pleaseinputstring2:*');scanf("%s,,,s2);while(s
8、1[i]!=' ・)i
此文档下载收益归作者所有