第六周作业
2014-04-15 23:50
183 查看
习题1
习题2
习题3
习题4
习题5
习题6
习题7
#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; }