第四章作业
2014-04-13 23:31
176 查看
书上作业第一题
1.从键盘上输入5个数,然后将它们按照从大到小的顺序输出。
2.从键盘上为数组a[2][3]输入任意整数值,显示该数组,找出该数组的最大元素及其下标。
3.编写程序,统计fibonacci数列前20个数中有多少个3位数,并输出数列中的第16项数据。
4.输入一行文字,统计其中大写字母、小写字母、空格、数字及其他字符的个数。
5.输入一个字符串,反向输出每一个字符,并求此字符串的长度。
6.输入一个字符串,将其中的所有的数字删除,并输出改动后的字符串及其长度,例如输入ab123df354ADFx193,输出abdfADFx 8.
1.从键盘上输入5个数,然后将它们按照从大到小的顺序输出。
#include<iostream> #include<iomanip> using namespace std; int main() { int a[5]; int i,j,k; cout<<"请输入要从大到小排序的5个数字"<<endl; for (i=0;i<5;i++) cin>>a[i]; for(i=0;i<4;i++) for(j=0;j<4-i;j++) if(a[j]<a[j+1]) {k=a[j];a[j]=a[j+1];a[j+1]=k;} cout<<"排序如下:"; for(i=0;i<5;i++) cout<<setw(5)<<a[i]; cout<<endl; return 0; }
2.从键盘上为数组a[2][3]输入任意整数值,显示该数组,找出该数组的最大元素及其下标。
#include<iostream> #include<iomanip> using namespace std; int main() { int number[2][3],i,j,a=0,b=0; cout<<"请输入6个元素的整数值:"<<endl; for(i=0;i<2;i++) for(j=0;j<3;j++) {cin>>number[i][j];} int max=number[0][0]; for(i=0;i<2;i++) for(j=0;j<3;j++) if(max<number[i][j]) {max=number[i][j];a=i;b=j;} cout<<"最大的元素为:"<<"number["<<a<<"]["<<b<<"]="<<number[a][b]<<endl; return 0; }
3.编写程序,统计fibonacci数列前20个数中有多少个3位数,并输出数列中的第16项数据。
#include<iostream> #include<iomanip> using namespace std; int main() { int number[20]={1,1},sixteenth,i,count=0; for(i=2;i<20;i++) { number[i]=number[i-2]+number[i-1]; if(number[i]>=100&&number[i]<=999) count++; } sixteenth=number[15]; for(i=0;i<20;i++) cout<<setw(20)<<number[i]; cout<<endl <<"三位数的个数有"<<count<<"个"<<endl <<"第十六项为"<<number[15]<<endl; return 0; }
4.输入一行文字,统计其中大写字母、小写字母、空格、数字及其他字符的个数。
#include<iostream> #include<iomanip> using namespace std; int main() { char string[50]; cout<<"请输入字符串:"; cin.getline(string,50); int a=0,b=0,c=0,d=0,f=0,i=0; for(i=0;string[i]!='\0';i++) if(string[i]>='A'&&string[i]<='Z') a++; else if(string[i]>='a'&&string[i]<='z') b++; else if(string[i]>='0'&&string[i]<='9') c++; else if(string[i]==' ') d++; else f++; cout<<"大写字母有"<<a<<"个"<<endl; cout<<"小写字母有"<<b<<"个"<<endl; cout<<"数字有"<<c<<"个"<<endl; cout<<"空格有"<<d<<"个"<<endl; cout<<"其他字符有"<<f<<"个"<<endl; return 0; }
5.输入一个字符串,反向输出每一个字符,并求此字符串的长度。
#include<iostream> #include<iomanip> using namespace std; int main() { char string[50]; int a=0,i; cout<<"请输入一个字符串"<<endl; cin.getline(string,50); while(string[a]!='\0') a++; cout<<"这个字符串的长度为:"<<a<<endl; cout<<"反向输出结果为:"<<endl; for(i=a-1;i>=0;i--) { cout<<string[i]; } cout<<endl; return 0; }
6.输入一个字符串,将其中的所有的数字删除,并输出改动后的字符串及其长度,例如输入ab123df354ADFx193,输出abdfADFx 8.
#include<iostream> #include<iomanip> using namespace std; int main() { char string[50],source[50]; int i=0,j=0; cout<<"请输入一个字符串"<<endl; cin.getline(string,50); while(string[i]!='\0') { if(string[i]>='0'&&string[i]<='9') i++; else {source[j]=string[i]; j++,i++; } } source[j]='\0'; cout<<"删除数字后的字符串如下"<<endl<<source<<endl; return 0; }