1例题4-2
<span style="font-size:18px;">#include<iostream>
using namespace std;
int main()
{
int i,math[40],n;
float aver=0.0;
int unpassedcount=0;
int highscorecount=0;
cout<<"input number of students,please:";
cin>>n;
cout<<"input score of students:";
for(i=0;i<n;i++)
{
cin>>math[i];
aver+=math[i];
}
aver/=n;
for(i=0;i<n;i++)
{
if(math[i]<60)unpassedcount++;
if(math[i]>=90)highscorecount++;
}
cout<<"average:"<<aver<<endl;
cout<<"The score much than 90:"<<highscorecount<<endl;
cout<<"fail:"<<unpassedcount<<endl;
return 0;
}</span>
2例题4-3找最大值
<span style="font-size:18px;">#include<iostream>
using namespace std;
int main()
{
int i,a[10],max;
cout<<"please input 10 numbers:\n";
for(i=0;i<10;i++)
cin>>a[i];
cout<<"the number are:";
for(i=0;i<10;i++)
cout<<'\t'<<a[i];
cout<<endl;
max=a[0];
for(i=0;i<10;i++)
{
if(a[i]>max)
max=a[i];
}
cout<<"the max number is:"<<max<<endl;
return 0;
}</span>
例题4.4
#include<iostream>
using namespace std;
int main()
{
int i,j,t,a[10];
cout<<"please input 10 number:\n";
for(i=0;i<10;i++)
cin>>a[i];
cout<<"the number are:";
for(i=0;i<10;i++)
cout<<'\t'<<a[i];
cout<<endl;
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+i]=t;}
}
cout<<"the sorted number are:";
for(i=0;i<10;i++)
cout<<'\t'<<a[i];
cout<<endl;
return 0;
}
课后习题
1.
1. #include<iostream>
#include<iomanip>
using namespace std;
void sw(int &u,int &v)
{
int mid;
if(u<v)
{
mid=v;
v=u;
u=mid;
}
}
int main()
{
int a[5],i,j;
cout<<"请输入五个数:"<<endl;
for(i=0;i<5;i++)
{
cin>>a[i];
}
cout<<"原序列:"<<endl;
for(i=0;i<5;i++)
{
cout<<setw(4)<<a[i];
}
cout<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<4-i;j++)
sw(a[j],a[j+1]);
}
cout<<"由大到小:"<<endl;
for(i=0;i<5;i++)
{
cout<<setw(4)<<a[i];
}
cout<<endl;
return 0;
}
2.
#include<iostream>
#include<iomanip>
using namespace std;
int max(int u,int v)
{
int m;
if(u>v)
{
m=u;
}
else m=v;
return m;
}
int main()
{
int a[2][3],i,j,mid;
cout<<"请输入2x3矩阵:"<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
cin>>a[i][j];
}
cout<<endl;
}
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
cout<<setw(4)<<a[i][j];
}
cout<<endl;
}
int container=0;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
mid=max(a[i][j],a[i][j+1]);
}
container=max(mid,container);
}
cout<<"最大值="<<container<<endl;
return 0;
}
3.
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int f[20];
int i,n,count=0;
f[0]=1;f[1]=1;
for(i=2;i<20;i++)
{
f[i]=f[i-1]+f[i-2];
}
cout<<"斐波那契数列:"<<endl;
for(i=0;i<20;i++)
{
cout<<setw(9)<<f[i];
if((i+1)%5==0)
cout<<endl;
}
cout<<endl;
for(i=0;i<20;i++)
if((f[i]/10)>=10)
count++;
cout<<"三位数有="<<count<<"个"<<endl;
cout<<"想知道第几项数据,请输入对应编号n(n<20)"<<endl;
cin>>n;
cout<<"第"<<n<<"项为"<<f[n-1]<<endl;
return 0;
}
习题:矩阵乘法:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,j,t;
int c[4][3];
int a[4][5];
int b[5][3];
cout<<"输入矩阵a与b"<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
cin>>a[i][j];
}
cout<<endl;
}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
cin>>b[i][j];
}
cout<<endl;
}
cout<<"计算矩阵a与矩阵b的积"<<endl;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
for(t=0;t<5;t++)
{
c[i][j]=c[i][j]+a[i][t]*b[t][j];
}
cout<<"a*b结果为"<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
cout<<setw(4)<<a[i][j];
cout<<endl;
}
return 0;
}