实验6 数组的应用
【实验目的】
1掌握数组定义和初始化的方法。
2熟悉使用字符数组处理字符串处理的方法。
【实验内容】
⒈输入10个学生的成绩,求平均成绩,并将低于平均成绩的分数打印出来。
#include <iostream.h>
#include <iomanip.h>
void readdata(float score[10])
{cout<<"Please input 10 student's score:"<<endl;
for(int i=0;i<10;i++)
cin>>score[i];}
float aver(float score[10])
{ float sum=0;
int i;
for(i=0;i<10;i++)
sum+=score[i];
return(sum/10); }
void print(float score[10],float ave)
{int i;
cout<<"the scores which are below the average:";
for(i=0;i<10;i++)
if(score[i]<ave)
cout<<score[i]<<" ";
cout<<endl;
return; }
void main( )
{ void readdata(float score[10]);
float aver(float score[10]);
void print(float score[10],float ave);
float ave,score[10];
readdata(score);
ave=aver(score);
cout<<"average="<<ave<<endl;
print(score,ave);
}
⒉编写一程序,从键盘任意输入两个字符串s1和s2,然后比较字符串的大小,若s1>s2,输出1;若s1=s2,输出0;若s1<s2,输出-1;
#include <string.h>
#include <stdio.h>
#include<iostream.h>
void main()
{ int k;
char s1[30],s2[30 ];
cout<<"input a string: "<<endl;
gets(s1);
gets(s2);
k=strcmp(s1,s2);
if(k==0) cout<<"0 \n";
if(k>0) cout<<"1\n";
if(k<0) cout<<"-1\n"; }
⒊应用一维数组,对10个从键盘输入的数进行冒泡排序,使其按照从大到小的顺序输出。
#include <iostream.h>
void main()
{int a[10];
int i,j,t;
cout<<"Input ten data:"<<endl;
for(i=0;i<10;i++)
{ cout<<"a["<<i+1<<"]=";
cin>>a[i]; }
for(i=0;i<=8;i++)
{ for(j=i+1;j<=9;j++){
if(a[i]<a[j])
{ t=a[i];
a[i]=a[j];
a[j]=t;}
}
}
cout<<"sorted data:"<<endl;
for(i=0;i<=9;i++)
cout<<"a["<<i+1<<"]="<<a[i]<<" "<<endl;
}
⒋应用二维数组打印如图所示杨辉三角形。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
#include <iostream.h>
void main()
{ int y[5][5];
int i,j,n=5;
for(i=0;i<n;i++)
{ y[i][i]=1;
y[i][0]=1;}
for(i=2;i<n;i++)
{ for(j=1;j<i;j++)
y[i][j]=y[i-1][j-1]+y[i-1][j];}
cout<<"杨辉三角形:"<<endl;
for(i=0;i<n;i++)
{ cout<<" ";
for(j=0;j<=i;j++)
cout<<y[i][j]<<" ";
cout<<endl;}
}
⒌编程序将输入的字符串删去空格输出。
#include<iostream.h>
#include<stdio.h>
void main()
{ char str[50];
int i=0,j;
gets(str);
while(str[i]!=NULL)
{ if(str[i]==' ')
{ j=i;
while(str[j]!=NULL)
{ str[j]=str[j+1];
j++;}
}
i++;}
cout<<str<<endl; }