您的位置:首页 > 理论基础

补回第四章作业

2014-06-20 20:47 260 查看

习题1:从键盘上输入5个数,然后将它们按照从大到小的顺序输出。

#include<iostream> 

#include<iomanip> 

using namespace std; 

int main() 



    int a[5]; 

    int i,j,t; 

    cout<<"请输入5个数:\n"; 

    for(i=0;i<5;i++) 

        cin>>a[i]; 

    cout<<"这5个数是:"; 

    for(i=0;i<5;i++) 

        cout<<"  "<<a[i]; 

    cout<<endl; 

    for(i=0;i<4;i++) 

        for(j=0;j<4-i;j++) 

            if(a[j]<a[j+1]) 

{t=a[j];a[j]=a[j+1];a[j+1]=t;} 

cout<<"排列后:"; 

for(i=0;i<5;i++) 

    cout<<"   "<<a[i]; 

cout<<endl; 

return 0; 



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

#include<iostream> 

#include<iomanip> 

using namespace std; 

int main() 



    int a[2][3],i,j; 

    cout<<"请输入2行3列二维数组的各个数的值:"<<endl; 

    for(i=0;i<2;i++) 

    for(j=0;j<3;j++) 

    { 

        cout<<"a["<<i<<"]["<<j<<"]="; 

        cin>>a[i][j]; 

    } 

    cout<<"\n该二维数组是:"<<endl; 

    for(i=0;i<2;i++) 

    { 

    for(j=0;j<3;j++) 

        cout<<setw(6)<<a[i][j]; 

        cout<<endl; 

    } 

    int x=0,y=0,max=a[0][0]; 

    for(i=0;i<2;i++) 

    for(j=0;j<3;j++) 

        if(max<a[i][j]) 

        {max=a[i][j];x=i;y=j;} 

        cout<<"该数组中最大的数为:"<<"a["<<x<<"]["<<y<<"]="<<a[x][y]<<endl; 

        return 0; 

}

习题3:编写程序,统计Fibonacci数列前20个数有多少个3位数,并输出数列中低16项数据。

#include<iostream>   

#include<iomanip>   

using namespace std;   

int num[20]={1,1};   

int main()   

{   

     int a,b=0; 

     cout<<"Fibonacci数列的前20个数:"<<endl; 

     cout<<1<<endl; 

     cout<<1<<endl; 

    for(a=2;a<20;a++)   

    { 

    num[a]=num[a-2]+num[a-1];  

    cout<<num[a]<<endl; 

    if(num[a]>99&&num[a]<1000) 

        b++; 

    } 

    cout<<"其中有"<<b<<"个三位数"<<endl; 

    cout<<"第16项数据:"<<num[15]<<endl; 

return 0; 

}

习题4:输入一字符窜,统计其中大写字母、小写字母、空格、数字、及其他字符的个数。

#include <iostream>   

#include <iomanip>   

using namespace std;   

int main ()   

{   

       

    char a[100];   

    int i,upper,lower,space,number,other;   

    cout<<"请输入一字符串:";   

    cin.get(a,100);   

    cout<<"the length of string is "<<strlen(a)<<endl;   

    for(i=0;i<100;i++)   

    {   

        if (a[i]>='A'&&a[i]<='Z')   

            upper++;   

        else if(a[i]>='a'&&a[i]<='z')   

            lower++;   

        else if(a[i]>='0'&&a[i]<='9')   

            number++;   

        else if(a[i]==' ')   

            space++;   

        else if (a[i]=='\0')   

            other=strlen(a)-upper-lower-number-space;   

    }   

   

        cout<<"其中大写字母的个数为:"<<upper<<endl;   

        cout <<"其中小写字母的个数为:"<<lower<<endl;   

        cout<<"其中数字的个数为:"<<number<<endl;   

        cout<<"其他字符的个数为:"<<other<<endl;   

        cout<<"空格的个数为:"<<space<<endl;   

        return 0;   

    }

习题5:输入一字符串,反向输出每一个字符,并求此字符串的长度。

#include<iostream> 

#include<cstring>   

#include<iomanip>   

using namespace std; 

 

int main() 



    char str[100]; 

    cout<<"请输入一个字符串:"; 

    cin.get(str,100); 

    cout<<"字符串"<<str<<"的反向字符串为:"; 

    int x,y=0; 

    for(x=strlen(str)-1;x>=0;x--) 

    { 

    cout<<str[x]; 

    y++; 

    } 

    cout<<endl; 

    cout<<"该字符串长度为"<<y<<endl; 

    return 0; 

}

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

#include<iostream> 

#include<cstring>   

#include<iomanip>   

using namespace std; 

 

int main() 



    char str[100]; 

    cout<<"请输入一个字符串:"; 

    cin.get(str,100); 

    int i,j=0,k; 

    k=strlen(str); 

    for(i=0;i<k;i++) 

    { 

        if(str[i]>='0'&&str[i]<='9') 

            continue; 

        else 

        { 

         cout<<str[i]

         j++; 

        } 

    } 

    cout<<endl; 

    cout<<"改动后字符串长度为"<<j<<endl; 

    return 0; 

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  计算机