补回第四章作业

来源:互联网 发布:政府数据统计 编辑:程序博客网 时间:2024/05/19 13:21


习题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; 
}





0 0
原创粉丝点击