第六周作业

来源:互联网 发布:linux 禅道 编辑:程序博客网 时间:2024/05/08 02:36

书本习题

1.从键盘上输入5个数,然后将他们按照从大到小的顺序输出

#include<iostream>#include<iomanip>using namespace std;int main(){int num[5];int i,j,k;cout<<"请输入5个整数"<<endl;for(i=0;i<=4;i++)cin>>num[i];cout<<"这5个整数为:"<<endl;for(i=0;i<=4;i++)cout<<setw(3)<<num[i];cout<<endl;for(i=0;i<4;i++)for(j=0;j<4-i;j++)if(num[j]<num[j+1]){k=num[j+1];num[j+1]=num[j];num[j]=k;}cout<<"这5个数按大到小的顺序排列为:";for(i=0;i<=4;i++)cout<<setw(4)<<num[i];cout<<endl;return 0;}

运行结果:




书2

从键盘上为数组a[]2[3]输入任意整数值,显示该数组,找出该数组的最大元素及其下标

#include<iostream>#include<iomanip>using namespace std;int main(){int a[2][3];int i,j,big,m,n;cout<<"请输入6个整数"<<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(3)<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<endl;big=a[0][0];for(i=0;i<2;i++)for(j=1;j<3;j++)if(a[i][j]>big){big=a[i][j];m=i;n=j;}    cout<<"最大数为"<<big<<endl;cout<<"该数的下标为a["<<m<<"]["<<n<<"]"<<endl;return 0;}




3.编写程序,统计Fibonacci数列前20个数中有多少个3位数,并输出数列中的第16项数据

 

#include<iostream>#include<iomanip>using namespace std;int main(){int a[20]={1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765};int i,j=0; for(i=0;i<20;i++){if((a[i]/100)>=1&&(a[i]/100)<=10)j++;}cout<<"数列前20个数中有"<<j<<"个3位数"<<endl;cout<<"数列中第16项数据为:"<<a[15]<<endl;return 0;}




书4,输入一行文字,统计其中大写字母 小写字母 空格 数字及其他字符的个数


 

#include<iostream>#include<cstring>using namespace std;int main(){int i,j=0,k=0,m=0,n=0,z=0;char str[20];cout<<"请输入一行字符:               (20个以内)"<<endl;cin.get(str,20);for(i=0;i<strlen(str);i++){if(str[i]>=33&&str[i]<=126){if(str[i]>=48&&str[i]<=57) k++;else if(str[i]>=65&&str[i]<=90) m++;else if(str[i]>=97&&str[i]<=122) n++;else j++;}if(str[i]==' ') z++;}cout<<"该字符串有"<<k<<"个数字"<<endl;cout<<"该字符串有"<<m<<"个大写字母"<<endl;cout<<"该字符串有"<<n<<"个小写字母"<<endl;cout<<"该字符串有"<<j<<"个符号"<<endl;cout<<"该字符串有"<<z<<"个空格"<<endl;return 0;}


 

5.输入一字符串,反向输出每一个字符,并求此字符串的长度


 

#include<iostream>#include<cstring>using namespace std;int main(){int i;char str[50];cout<<"请输入一字符串:           (长度50以内)"<<endl;cin.get(str,50);i=strlen(str)-1;cout<<"该字符串的逆序排列为:";for(;i>=0;i--)cout<<str[i];cout<<endl;cout<<"该字符串的长度为:"<<strlen(str)+1<<endl;return 0;}


 

 

 

6输入一个字符串,将其中的所有数字删除,并输出改动后的字符串及其长度


 

#include<iostream>#include<cstring>using namespace std;int main(){int i,j,k=0,m;char a[50];char str[50];cout<<"请输入一字符串:           (长度50以内)"<<endl;cin.get(str,50);j=strlen(str)-1;for(i=0;i<=j;i++)if((str[i]>='a'&&str[i]<='z') || (str[i]>='A'&&str[i]<='Z')){a[k]=str[i];k++;}m=k;cout<<"新字符串为:";for(k=0;k<=m;k++)cout<<a[k];cout<<endl;cout<<"长度为:"<<k-1<<endl;return 0;}

 

 

 


3. 编程定义一个4X5矩阵和5X3矩阵,并计算它们的积。

#include<iostream>using namespace std;int main(){ int a[4][5],b[5][3],c[4][3]; int i,j,k; cout<<"请输入矩阵a[4][5]并按enter换行"<<endl; for(i=0;i<4;i++)     for(j=0;j<5;j++) cin>>a[i][j];cout<<"请输入矩阵b[5][3]并按enter换行"<<endl; 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++) c[i][j]=0; for(i=0;i<4;i++)     for(k=0;k<3;k++) for(j=0;j<5;j++)    c[i][k]+=a[i][j]*b[j][k];  cout<<"ab的积组成的新矩阵为:"<<endl;    for(i=0;i<4;i++){for(j=0;j<3;j++)cout<<c[i][j]<<" ";cout<<endl;} return 0;}



 

4.编程输出1到n的平方的自然数构成的“魔方阵”,魔方阵是指它每一行和每一列及对角线之和均相等的方阵。

这一题暂时不会,相信老师以后教我更多东西我就会了,哈哈!

5.对于老师您说得二重循环大括号何时需要何时不需要问题,这个我想明白了,之前我加括号是为了容易查看我代码的机构,另外for循环嵌套很容易搞混!

0 0
原创粉丝点击