您的位置:首页 > 其它

第六周作业

2014-04-15 23:50 183 查看
习题1

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,j,t;
int str[5];
cout<<"请输入五个数:"<<endl;
for(i=0;i<5;i++)
cin>>str[i];
cout<<"这五个数的从小到大的顺序是:"<<endl;
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(str[j]>str[j+1])
{t=str[j];str[j]=str[j+1];str[j+1]=t;}
for(i=0;i<5;i++)
cout<<str[i]<<setw(4);
cout<<endl;

return 0;
}


习题2
#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
int a[2][3];
int i,j,big;
cout<<"请输入二行三列二维数组的元素值:"<<endl;

for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
cout<<"a["<<i<<"]"<<"["<<j<<"]=";
cin>>a[i][j];
}
cout<<"该二维数组为:";
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
if(j%3==0)
cout<<endl;
cout<<setw(4)<<a[i][j];
}
cout<<endl;
big=a[0][0];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
if(a[i][j]>=big)
big=a[i][j];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
if(a[i][j]==big)
cout<<"该数组中最大元素为:"<<"a["<<i<<"]"<<"["<<j<<"]="<<a[i][j]<<endl;
}


习题3
#include<iostream>
using namespace std;
int function(int n);
int main()
{
int i,count;
count=0;
for(i=1;i<=20;i++)
{
cout<<function(i)<<" ";
cout<<endl;
if(function(i)>=100&&function(i)<=999)
count++;
}
cout<<"Fibonacci数列前20个数中的三位数个数为:"<<count<<endl;
cout<<"该数列第16项数据是:"<<function(16)<<endl;

return 0;
}
int function(int n)
{
if(n==1||n==2)return 1;
else return function(n-1)+function(n-2);
}


习题4
#include<iostream>
#include<iomanip>
using namespace std;

int main()
{

char a[100];
int i,xiaoxue=0,shuzi=0,daxue=0,kongge=0,qita=0;
cout<<"请输入一行字符小于100的文字:";
cin.get(a,100);
for(i=0;i<100;i++)
{
if(a[i]>='a'&&a[i]<='z')
xiaoxue++;
else if
(a[i]>='0'&&a[i]<='9')   //因为a被定义为char,,所以应该写成'0' '9'
shuzi++;
else if
(a[i]>='A'&&a[i]<='Z')
daxue++;
else if
(a[i]==' ')
kongge++;
else if
(a[i]=='\0')
qita=strlen(a)-(shuzi+xiaoxue+daxue+kongge);
}
cout<<"数字个数为:"<<shuzi<<endl;
cout<<"小写字母个数为:"<<xiaoxue<<endl;
cout<<"大写字母个数为:"<<daxue<<endl;
cout<<"空格个数为:"<<kongge<<endl;
cout<<"其他字符个数为:"<<qita<<endl;
return 0;
}


习题5
#include<iostream>
using namespace std;

int main()
{
char a[100];
int i;
cout<<"输入一字符串:"<<endl;
cin.get(a,100);
cout<<"反向输出每一个字符:"<<endl;
for(i=strlen(a);i>0;i--)
cout<<a[i-1];
cout<<"该字符串长度为:"<<strlen(a)<<endl;

return 0;

}


习题6
#include<iostream>
using namespace std;

int main()
{
int i,b,shuzi;
shuzi=0;
b=0;
char a[100];
cout<<"输入一个字符串:"<<endl;
cin.get(a,100);
cout<<"删除了所有数字后的字符串为:"<<endl;
for(i=0;i<100;i++)
if(a[i]=='\0')
break;
else if(a[i]>='0'&&a[i]<='9') shuzi++;
else
cout<<a[i];
cout<<"该字符串的长度为:"<<strlen(a)-shuzi<<endl;

return 0;

}


习题7
题一:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,j,k,p;
p=0;
int a[4][5],b[5][3],ji[4][3];
cout<<"请输入4x5矩阵的元素:";
for(i=0;i<4;i++)
for(j=0;j<5;j++)
cin>>a[i][j];

cout<<"请输入5x3矩阵的元素:";
for(i=0;i<5;i++)
for(j=0;j<3;j++)
cin>>b[i][j];
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
for(k=0;k<5;k++)
{
p+=a[i][k]*b[k][j];
ji[i][j]=p;
}
p=0;
}
cout<<"两个矩阵的乘积为:"<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
cout<<setw(4)<<ji[i][j];
cout<<endl;
}
return 0;

}


题二:
#include<iostream>
using namespace std;
void main()
{
int a[32][32],i,j,k,p,n;
p=1;
while(p==1)
{
cout<<"Enter n(n=1~25):";
cin>>n;
if((n!=0)&&(n<=25)&&(n%2!=0))
p=0;
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
j=n/2+1;
a[1][j]=1;
for(k=2;k<=n*n;k++)
{
i=i-1;
j=j+1;
if((i<1)&&(j>n))
{
i=i+2;
j=j-1;
}
else
{
if(i<1)
i=n;
if(j>n)
j=1;
}
if(a[i][j]==0)
a[i][j]=k;
else
{
i=i+2;
j=j-1;
a[i][j]=k;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: