资源描述:
《实验八数组应用一答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验八数组应用(一)答案一、实验目的1.掌握一维数组的定义和使用;2.了解二维数组的定义和使用。二、实验学时数2学时三、实验步骤(一)阅读程序1.#includcmain(){inta[]={l,2,3,4,5},i,j,s二0;j=1;for(i=4;i>=0;i—){s二s+a[i]*j;j二j*10;}printf(〃s=%d,z,s);分析结果12345运行结果2.#includemain(){intk;inta[3][3]={9,8,7,6,5,4,3,2
2、,1}for(k=0;k<3;k++)printf(,z%d〃,a[k][2-k]);}分析结果753运行结果3.main()int••1,J:,X=0,y=0,m;int3⑶⑶二{1,-2,o,4,-5,6,2,4};m=.a[0][0]•ffor(i=0;i<3;i++)for(j=0;j<3;j++)if(ja[il[J]>m)ima[i][j]•fprintf("(%d,%d)=%d,x,y,m);分析结果(1,2)二6运行结果(二)完成程序要求:依据题目要求,分析已给出的语句,填写空白。
3、但是不要增行或删行,改动程序的结构。1.下面程序的功能是将十进制整数转换成二进制,请在上填写正确内容。#includemain(){intk=0,n,j,num[16]={0};printf(,z输入要转换的十进制数〃);scanf(〃%d〃,&n);printf(〃%d转换为二进制数:〃,n);do{num[k]=n%2;n二n/2;k++;}while(n!=0);for(k=15;k>=0;k--)printf(〃%d〃,num[k]);2、设数组a的元素均为正整数,以下程
4、序是求a中奇数的个数和奇数的平均值,请在上填写正确内容。#includemain(){inta[10]={10,9,8,7,6,5,4,3,2,1};intk,s,i;floatavc;for(i=0,k=s=0;i<10;i++){if(a[i]%2==0)continue;s+二a[i];k++;}if(k!=0){ave=s/k;printf("%d,%f",k,ave);}}(三)调试程序要求:调试运行下列程序是否正确,若有错,写出错在何处?填写正确的运行结果。1.以下程序实
5、现的功能是输入四个数,求这四个数的和.#includemain()1.{inta(4)={4*0};//改为inta[4]={0};2.inti;3.for(i=0;i<4;i++)scanf(z,%dz,,&a[i]);4.for(i=0;i<4;i++)a[0]=a[0]+a[i];//改为i=05.printf(〃%dz,,a[0]);错错误在行应改为:调试正确后输入数据的运行结果输出结果:1.以下程序实现的功能是求10个元素的和。行号#include1.main
6、()2.{inta[ll],i;//改为inta[ll]={0},i;3.for(i=l;i<=10;i++)4.scanf("%cT,&a);//改为&a[i]5.for(i二1;i〈二10;i++);6.a[0]=a[0]+a[i];7.printf(,,Sum=%d〃,a[0]);}错错误在行应改为:调试正确后的运行结果输入数据输出结果:2.调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输岀10个整数的平均值。写岀调试过程。行号1main()2{inti,n,a[
7、10],av;//改为inti,n=10,a[10];floatav;3for(i=0;i8、但是运行结果是完全错误的。调试吋请注意变量的初值问题、输出格式问题等。请使用前面实验所掌握的调试工具,判断程序中的错误并改正。错错误在行应改为:调试正确后的运行结果输入数据输出结果:(三)编写程序1•试编制程序使数组中的数按照从大到小的次序排列。(起泡法或选择法)#include#defineN5main(){inta[N];inti,j,t;for(i二0;ivN;i++)〃输入N个数scanf("%d",