数组的应用电力实10郝毅(201001000707)上机时间:周二上午一实验目的1掌握数值型一维数组及二维数组的定义,初始化,以及输入输出的方法。2掌握用一维数组及二维数组实现的算法。3掌握字符型数组的定义,初始化,以及输入输出的方法。4掌握用字符型数组解决字符串问题的方法。5掌握常用字符串处理函数。6掌握用数组作为函数形参的相关语法规则和编程技巧。7掌握在VisualC++集成环境中调试与数组相关程序的方法。二程序分析1Step1:定义数值型一维数组,及变量n,max,min,I,c;Step2:输入n的值,利用for语句,从键盘输入n个数据,存放在数组中。Step3;利用for语句遍历n个数组元素,利用max存放最大值,利用min存放最小值;Step4:利用变量c将最大值与a[n-1]交换位置,并将min与a[0]交换位置;Step5;;利用for语句输出数组的前n个元素。2题Step1:定义数值型一维数组,整型变量s;Step2:利用while语句输入一组数并存放在数组中,同时对该组数求和。Step3:求出数组预案数的平均值,利用for语句遍历数组元素,并利用计数器计数其中大于等于平均值的实数个数。Step4:输出计数器的值;3题Step1:定义数值型一维数组,及变量i;Step2:利用for语句遍历从1到100,将所有能被7或11整除的整数存放在数组中。Step3:利用for语句输出数组元素十个数一行。4题Step1:定义数值型一维数组,数组长度为50;变量s,i,c=51;Step2:利用while语句将一组互不相同且非0的整数存放在数组中,Step3:输入s的值。Step4:利用for语句遍历数组元素,找出与s相同的元素,并记录其位置c=I,若不存在,则c=51;Step5:判断c的值,若小于51,则输出i的值,否则输出该数不存在;5题Step1,定义两个一维数组a[8],b[8],并初始化a[20]为{1,2,5,1,1,3,7,0},及变量c,i,j;Step2:输入变量c的值。Step3:利用for语句,遍历a[8],若a[i]!=c,则将a[i]存放在b[j]中;Step4:利用for语句输出b[8]的值;二程序清单1#includeiostream.hvoidmain(){inta[50],n,i,max,min,s,t,j;coutInputthen:;cinn;for(i=0;in;i++)cina[i];max=a[0];min=a[0];for(i=0;in;i++){if(maxa[i]){max=a[i];s=i;}if(mina[i]){min=a[i];t=i;}}j=a[n-1];a[n-1]=a[s];a[s]=j;j=a[0];a[0]=a[t];a[t]=j;for(i=0;in;i++)couta[i];}2#includeiostream.hvoidmain(){floata[50],s=0,c=1,t=0;inti=0;cout输入实数:;while(c0){cinc;a[i]=c;s+=a[i];i++;}s=s/(i+1);for(i=0;a[i]!=0;i++)if(a[i]s||a[i]==s)t++;cout大于等于平均数的实数个数:t;}3#includeiostream.hvoidmain(){inta[50],i,j=0,t;for(i=1;i=100;i++)if((i%7==0)||(i%11==0)){a[j]=i;j++;}for(t=0;tj;t++){couta[t];if((t+1)%10==0)coutendl;}}4#includeiostream.hvoidmain(){inta[50],c=1,i=0,s,t=50;cout输入数列:;while(c!=0){cinc;a[i]=c;i++;}cout输入要查找的数:;cins;for(i=0;a[i]!=0;i++){if(a[i]==s)t=i+1;}if(t==50)cout该数不存在;elsecouts在数列中,是第t个数;}第二次运行:5#includeiostream.hvoidmain(){inta[50],b[50],c=1,s,i=0,j=0,v;cout输入数列:;while(c!=0){cinc;a[i]=c;i++;}cout输入要查找的数:;cins;for(i=0;a[i]!=0;i++)if(a[i]!=s){b[j]=a[i];j++;}cout处理结果:;for(v=0;vj;v++)coutb[v];}6#includeiostream.hvoidmain(){inta[5]={1,2,3,4,5};inti,s;for(i=0;i=4;i++)couta[i];s=a[4];for(i=4;i0;i--)a[i]=a[i-1];a[0]=s;coutendl;for(i=0;i=4;i++)couta[i];}7#includeiostream.h;voidmain(){inta[11],b[11],i,j,s,t;cout输入数列:;for(i=0;i10;i++)cina[i];for(i=0;i9;i++)for(j=i+1;j10;j++)if(a[i]a[j]){t=a[i];a[i]=a[j];a[j]=t;}cout要插入的数:;cins;for(i=0;i10;i++)if(a[i]s)break;for(j=0;ji;j++)b[j]=a[j];b[j]=s;for(j=j+1;j11;j++)b[j]=a[j-1];for(j=0;j11;j++)coutb[j];}8#includeiostream.hvoidmain(){inta[20],b[20],i=0,c=1,s=0,j,t=0;cout输入数列:;while(c0){cinc;a[i]=c;i++;}for(i=0;a[i]0;i++){for(j=2;ja[i];j++)if(a[i]%j==0)break;if(j=a[i]&&a[i]!=1){b[t]=a[i];t++;s+=a[i];}}cout素数和:\ns=s;for(i=0;it-1;i++)for(j=i+1;jt;j++)if(b[i]b[j]){c=b[i];b[i]=b[j];b[j]=c;}cout\n素数:\n;for(i=0;it;i++)coutb[i];}9#includeiostream.hvoidmain(){inta[10],b,i=0,j,k,t;cout输入整数:;cinb;while(b0){a[i]=b%10;i++;b/=10;}for(j=0;ji-1;j++)for(k=j+1;ki;k++)if(a[j]a[k]){t=a[j];a[j]=a[k];a[k]=t;}cout重组后的数:;for(j=0;ji;j++)couta[j];}10#includeiostream.h;voidmain(){inta[2][3],b[2][3],c[2][3],i,j;cout输入第一个矩阵:\n;for(i=0;i2;i++)for(j=0;j3;j++)cina[i][j];cout输入第二个矩阵:\n;for(i=0;i2;i++)for(j=0;j3;j++)cinb[i][j];for(i=0;i2;i++)for(j=0;j3;j++)c[i][j]=a[i][j]+b[i][j];cout矩阵和:\n;for(i=0;i2;i++){for(j=0;j3;j++)coutc[i][j];coutendl;}}11#includeiostream.hvoidmain(){inta[3][3],i,j;cout输入矩阵:endl;for(i=0;i3;i++)for(j=0;j3;j++)cina[i][j];cout输出其转置endl;for(i=0;i3;i++){for(j=0;j3;j++)couta[j][i];coutendl;}cout输出其上三角形部分:endl;for(i=0;i3;i++){for(j=0;ji;j++)cout;for(j=i;j3;j++)couta[i][j];coutendl;}cout输出其下三角形部分:endl;for(i=0;i3;i++){for(j=0;j=i;j++)couta[i][j];coutendl;}}12#includeiostream.hvoidmain(){inta[3][4],i,j,max,min,b,c;cout输入矩阵:\n;for(i=0;i3;i++)for(j=0;j4;j++)cina[i][j];for(i=0;i3;i++){max=a[i][0];b=0;for(j=0;j4;j++)if(maxa[i][j]){max=a[i][j];b=j;}cout第i+1行最大数:max,在第b+1列endl;}for(i=0;i4;i++){min=a[0][i];c=0;for(j=0;j3;j++)if(mina[j][i]){min=a[j][i];c=j;}cout第i+1列最小数:min,在第c+1行endl;}}13#includeiostream.hvoidmain(){inta[3][4],b[3][4],i,j;cout输入矩阵:endl;for(i=0;i3;i++)for(j=0;j4;j++)cina[i][j];for(i=0;i4;i++)for(j=0;j3;j++)b[i][j]=a[j][i];for(i=0;i4;i++){for(j=0;j3;j++)coutb[i][j];coutendl;}}15#includeiostream.h#includestring.hvoidmain(){chara[20];intb[10]={0},i,j=0;cout输入字符串:;cina;for(i=0;istrlen(a);i++)b[a[i]-'0']++;for(i=0;i10;i++)cout字符i的个数:b[i]endl;}16#includestdio.h#includestring.hvoidmain(){chara[30],c;inti,j;printf(输入字符串:);scanf(%s,a);for(i=0;istrlen(a)-1;i++)for(j=i+1;jstrlen(a);j++)if(a[i]a[j]){c=a[i];a[i]=a[j];a[j]=c;}printf(结果:%s,a);}17#includestdio.h#includestring.hvoidmain(){chara[20],b[20],c;inti,j=0,k=0;printf(输入字符串:);gets(a);for(i=0;istrlen(a);i++)if(a[i]%3!=0){b[j]=a[i];j++;}b[j]=0;k=j;for(i=0;ik-1;i++)for(j=i+1;jk;j++)if(b[i]b[j]){c=b[i];b[i]=b[j];b[j]=c;}printf(\n结果);printf(%s,b);}18#includestdio.h#in