第六章自动1122徐达武

来源:互联网 发布:mysql导出dmp文件 编辑:程序博客网 时间:2024/06/13 07:41



课本编程习题

1.0

#include<iostream>using namespace std; long A[5];void main(){cout<<"依次输入5个数字"<<endl;for(int i=0;i<5;i++){cout<<"每输入一个数字请回车"<<endl;cin>>A[i];}int j,k,t;for(j=0;j<4;j++){for(k=0;k<4-j;k++){if(A[k]<A[k+1]){t=A[k];A[k]=A[k+1];A[k+1]=t;}}}for(int b=0;b<5;b++){cout<<A[b]<<' ';}cout<<endl;}
考察for双重循环和冒泡排序法

2.0

#include<iostream>using namespace std;int max; int A[2][3];void main(){cout<<"请为数组输入数值"<<endl;for(int  i=0;i<2;i++){for(int j=0;j<3;j++)cin>>A[i][j];}for( int a=0;a<2;a++){for( int b=0;b<=2;b++){cout<<A[a][b]<<' ';}}int c,d,e,f;for( c=0;c<2;c++){if(c==0){for( max=A[c][0], d=1;d<3;d++)if(max<A[c][d]){max=A[c][d];e=c;f=d;}}elsefor(d=0;d<3;d++)if(max<A[c][d]){max=A[c][d];e=c;f=d;}}cout<<"最大数是"<<max<<endl;cout<<"最大数位于"<<"第"<<e+1<<"行"<<"第"<<f+1<<"列"<<endl;}

考察for双重循环和else-if的使用

3.0
#include<iostream>using namespace std;#define LONG 1024int i;void main(){char A[LONG];cout<<"请输入字符串"<<endl;cin>>A;for( i=0;A[i]!=NULL;i++){;}cout<<"共有"<<i<<"个"<<"字符"<<endl;i--;for(i;A[i]!=NULL;i--)cout<<A[i]<<' ';cout<<endl;}




不知为毛会出现很多问号。C++中并没有串这种数据类型,但允许讲串放在char型数组中。注意宏定义#define的使用!!

改正后:

#include<iostream>using namespace std;#define LONG 1024int i;void main(){char A[LONG];cout<<"请输入字符串"<<endl;cin>>A;for( i=0;A[i]!=NULL;i++){;}cout<<"共有"<<i<<"个"<<"字符"<<endl;i--;for(i;A[i]!=NULL;i--)if(i>=0){cout<<A[i]<<' ';cout<<endl;}}


4.0

#include<iostream>using namespace std;#define LONG 1024int i,j,k,l;char A[LONG];void main(){cout<<"请输入内容"<<endl;cin.getline(A,12);for( i=0;A[i]<='9'&&A[i]>='0';i++){;}cout<<"共有数字"<<i<<"个"<<endl;for(j=0;A[j]<='Z'&&A[j]<='A';j++){;}cout<<"共有大写字母"<<j<<"个"<<endl;for(k=0;A[k]==32;k++){;}cout<<"共有空格"<<k<<"个"<<endl;}

这个程序还没调试成功,还需要仔细琢磨

修改后:

#include<iostream>#include<iomanip>using namespace std;#define LONG 1024int j,k,l,n,m=0;char A[LONG];void main(){cout<<"请输入内容"<<endl;cin.getline(A,20);for(int i=0;i<20;i++){if(A[i]<='9'&&A[i]>='0')j++;else if(A[i]<='Z'&&A[i]>='A')k++;else if(A[i]==' ')l++;else if(A[i]>='a'&&A[i]<='z')n++;else m=strlen(A)-(j+k+l+n);}cout<<"共有数字"<<j<<"个"<<endl;cout<<"共有大写字母"<<k<<"个"<<endl;cout<<"共有空格"<<l<<"个"<<endl;cout<<"小写字母"<<n<<"个"<<endl;cout<<"其他字符"<<m<<"个"<<endl;}cin.getline()能输入空格,空格用' '表示,头文件用<iomanip>,strlen()计算串长度,包括空格



5.0

#include<iostream>using namespace std;#define LONG 1024int i,k,l;int j=0;char A[LONG];char B[LONG];void main(){cout<<"请输入字符串"<<endl;cin>>A;for(i=0;A[i]!=0;i++)if(A[i]>'9'){B[j]=A[i];j++;}for(k=0;B[k]!=NULL;k++){cout<<B[k]<<' ';}cout<<endl;}



注意要在9字上加单引号


6.0

#include<iostream.h>   int function(int n); int function(int n)  {     if(n==1||n==2)return 1;     else return function(n-1)+function(n-2);  }   void main()  {      int i;    int  j=0;      for(i=1;i<=20;i++)      {          cout<<function(i)<<" ";          cout<<endl;          if(function(i)>=100&&function(i)<=999)              j++;      }       cout<<"数列前20个数中的三位数个数为:"<<j<<endl;       cout<<"该数列第16是:"<<function(16)<<endl;                  }  

















0 0
原创粉丝点击