第四章作业

/****************************** 
***       例题4.1           *** 
******************************/  
  
  
#include<iostream>  
using namespace std;  
  
int main()  
{  
    int a[10];  
    int i;  
    for(i=0;i<10;i++)  
        a[i]=i*2+2;  
    for(i=0;i<10;i++)  
    {  
        cout<<a[i]<<'\t';  
        if((i+1)%5==0)  
            cout<<endl;  
    }  
  
    return 0;  
} 


/*************************** 
**       例题4.2          ** 
***************************/  
  
#include<iostream>  
using namespace std;  
  
int main()  
{  
    int i,math[40],n;  
    float aver = 0.0;  
    int no =0;  
    int yes =0;  
    cout<<"请输入学生人数:";  
    cin>>n;  
    cout<<"请输入成绩:";  
    for(i=0;i<n;i++)  
    {  
        cin>>math[i];  
        aver +=math[i];  
    }  
    aver/=n;  
    for(i=0;i<n;i++)  
    {  
        if(math[i]<60) no++;  
        if(math[i]>=90) yes++;  
    }  
    cout<<"平均分为:"<<aver<<endl;  
    cout<<"90分以上人数为:"<<yes<<endl;  
    cout<<"不及格人数为:"<<no<<endl;  
  
    return 0;  
}

/**************************** 
***        例题4.3        *** 
****************************/  
  
#include<iostream>  
#include<iomanip>  
using namespace std;  
  
int main()  
{  
    int a[10],i,big;  
    cout<<"请输入10个整数:\n";  
    for(i=0;i<10;i++)  
        cin>>a[i];  
    cout<<"输入的整数分别为:\n";  
    for(i=0;i<10;i++)  
        cout<<setw(4)<<a[i];  
    cout<<endl;  
    big =a[0];  
    for(i=1;i<10;i++)  
        if(a[i]>big)  
            big =a[i];  
        cout<<"最大的整数为:"<<big<<endl;  
  
        return 0;  
}

/************************** 
***      例题4.4        *** 
**************************/  
  
#include<iostream>  
#include<iomanip>  
using namespace std;  
  
int main()  
{  
    int a[10];  
    int i,j,t;  
    cout<<"请输入10个整数:\n";  
    for(i=0;i<10;i++)  
        cin>>a[i];  
    cout<<"输入的整数分别为:\n";  
    for(i=0;i<10;i++)  
        cout<<setw(5)<<a[i];  
    cout<<endl;  
    for(i=0;i<9;i++)  
    {  
        for(j=0;j<9-i;j++)  
        {  
            if(a[j]>a[j+1])  
                {t=a[j];a[j]=a[j+1];a[j+1]=t;}  
        }  
    }  
    cout<<"所输入的数从小到大排列依次是:\n";  
    for(i=0;i<10;i++)  
    cout<<setw(5)<<a[i];  
    cout<<endl;  
          
            return 0;  
}

/************************** 
**        例题4.5        ** 
**************************/  
  
#include<iostream>  
#include<iomanip>  
using namespace std;  
  
int main()  
{  
    int i;  
    int f[40]={2,2};  
    for(i=2;i<40;i++)  
        f[i]=f[i-2]+f[i-1];  
    for(i=0;i<40;i++)  
    {  
        if(i%4 ==0)  
            cout<<endl;  
        cout<<setw(12)<<f[i];  
    }  
    cout<<endl;  
  
    return 0;  
}

/**************************** 
**        例题4.6          ** 
****************************/  
  
#include<iostream>  
#include<iomanip>  
using namespace std;  
  
int main()  
{  
    int i;  
    int j;  
    int a[5][5];  
    for(i=0;i<5;i++)  
    {  
        for(j=0;j<5;j++)  
        {  
            if(i%2==0)  
                a[i][j]=i*5+j+1;  
            else  
                a[i][4-j]=i*5+j+1;  
        }  
    }  
    for(i=0;i<5;i++)  
    {  
        for(j=0;j<5;j++)  
            cout<<setw(4)<<a[i][j];  
        cout<<endl;  
    }  
  
    return 0;  
}

/**************************** 
**        例题4.8          ** 
****************************/  
  
#include<iostream>  
using namespace std;  
  
int main()  
{  
    char str[50];  
    cout<<"Please input strings:";  
    cin.get(str,50);  
    cout<<"The string is :";  
    cout<<str<<endl;  
  
    return 0;  
}

/*************************** 
***        例题4.9       *** 
***************************/  
  
#include<iostream>  
#include<cstring>  
using namespace std;  
  
int main()  
{  
    char str[100];  
    cout<<"请输入一个字符串:";  
    cin.get(str,100);  
    cout<<"字符串"<<str<<"的反向字符串为:";  
    for(int i =strlen(str) -1;i>=0;i--)  
        cout<<str[i];  
    cout<<endl;  
  
    return 0;  
}

/********************** 
**      例题1.10     ** 
**********************/  
  
  
#include<iostream>  
using namespace std;  
  
int main()  
{  
    char s[]="This is C programming test.";  
    int i =0,pLen=0,maxLen=0,pSeat=0;  
    while(s[i]!='\0')  
    {  
        while(s[i]!=' ' &&s[i] !='\0')  
        {  
            pLen++;  
            i++;  
        }  
        if(pLen>maxLen)  
        {  
            pSeat =i - pLen;  
            maxLen = pLen;  
        }  
  
        while(s[i] == ' ')  
            i++;  
        pLen =0;  
    }  
    cout<<"最长的单词为:";  
    for(i=0;i<maxLen;i++)  
        cout<<s[pSeat + i];  
    cout<<endl;  
  
    return 0;  
}

/***************************** 
***         例题4.11       *** 
*****************************/  
  
  
#include<iostream>  
#include<cstring>  
using namespace std;  
  
int main()  
{  
    char str[50];  
    cout<<"请输入一个字符串:";  
    cin.get(str,50);  
    cout<<"改字符串的长度是:"<<strlen(str)<<endl;  
  
    return 0;  
}

/**************************** 
**        例题4.12         ** 
****************************/  
  
  
#include<iostream>  
#include<cstring>  
using namespace std;  
  
int main()  
{  
    char str[100];  
    cout<<"请输入您的银行卡号及密码,按#号结束:"<<endl;  
    do{  
        cin>>str;  
    }while(strcmp(str,"#")!=0);  
  
  
    return 0;  
}

/************************ 
***      例题4.13     *** 
************************/  
  
#include<iostream>  
using namespace std;  
  
  
int main()  
{  
    char str[50];  
    int len = 0;  
    cout<<"请输入一个字符串:";  
    cin.get(str,50);  
    while(str[len] !='\0')  
        len++;  
    cout<<"字符串"<<str<<"的长度为:"<<len<<endl;  
  
    return 0;  
}

/**************************** 
***         习题1         *** 
****************************/  
  
#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<<"输入的整数分别为:\n";  
    for(i=0;i<5;i++)  
        cout<<setw(4)<<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<<"所输入的数从大到小排列依次是:\n";  
            for(i=4;i>=0;i--)  
                cout<<setw(5)<<a[i];  
            cout<<endl;  
          
            return 0;  
}

/*************************** 
***         习题2        *** 
***************************/  
  
  
#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++)  
            cin>>a[i][j];  
    }  
    cout<<"所输入的数组为:"<<endl;  
    for(i=0;i<2;i++)  
    {  
        for(j=0;j<3;j++)  
            cout<<setw(6)<<a[i][j];  
    }  
    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])  
            {  
                x=i;  
                y=j;  
                max=a[i][j];  
            }  
              
        }  
    }  
    cout<<"该数组中最大元素为:"<<endl;  
    cout<<max<<endl;  
    cout<<"其下标为:"<<x<<y<<endl;  
  
    return 0;  
}

/************************** 
***        习题3        *** 
**************************/  
  
#include<iostream>  
#include<iomanip>  
using namespace std;  
  
  
int main()  
{  
    int i,num=0;  
    int f[20]={1,1};  
    for(i=2;i<20;i++)  
    {  
        f[i]=f[i-2]+f[i-1];  
        if(f[i]>=100&&f[i]<1000)  
            num++;  
    }  
    for(i=0;i<20;i++)  
    {  
        if(i%4==0)  
            cout<<endl;  
        cout<<setw(10)<<f[i];  
    }  
    cout<<endl;  
    cout<<"该数组中前20个数中有"<<num<<"个三位数"<<endl;  
    cout<<"该数组中的第16项为:"<<f[15]<<endl;  
  
    return 0;  
} 

/**************************** 
***        习题4          *** 
****************************/  
  
#include <iostream>    
#include <iomanip>    
using namespace std;    
    
int main()    
{    
    char string[100];    
    cout<<"请输入一个字符串:";    
    cin.get(string,100);    
    int A=0,a=0,b=0,c=0,d=0;    
    for(int i=0;string[i]!='\0';i++)    
        if(string[i]>='A'&&string[i]<='Z') A++;    
        else if(string[i]>='a'&&string[i]<='z') a++;    
        else if(string[i]==' ') b++;    
        else if(string[i]>='0'&&string[i]<='9') c++;    
        else d++;    
    cout<<"大写字母有:"<<A<<"个"<<endl;    
    cout<<"小写字母有:"<<a<<"个"<<endl;    
    cout<<"空格有:"<<b<<"个"<<endl;    
    cout<<"数字有:"<<c<<"个"<<endl;    
    cout<<"其他字符有:"<<d<<"个"<<endl;    
    
    
    return 0;    
    
}    

/*********************** 
**        习题5       ** 
***********************/  
  
#include<iostream>  
#include<cstring>  
using namespace std;  
  
int main()  
{  
    char str[100];  
    cout<<"请输入一个字符串:";  
    cin.get(str,100);  
    cout<<"该字符串的反向字符串为:"<<endl;  
    for(int i =strlen(str) -1;i>=0;i--)  
        cout<<str[i];  
    cout<<endl;  
    cout<<"该字符串的长度为:"<<strlen(str)<<endl;  
  
    return 0;  
}  

/************************** 
**        习题6          ** 
**************************/  
  
  
#include <iostream>    
#include <iomanip>    
using namespace std;    
    
int main()    
{    
    char a[50],b[50];    
    int i,j=0;    
    cout<<"请输入一个字符串:"<<endl;    
    cin.get(a,50);    
    for(i=0;a[i];i++)    
    {    
        if(a[i]>='0'&&a[i]<='9')    
            continue;    
        b[j]=a[i];    
        j++;    
    }    
    b[j]='\0';    
    cout<<"删除数字后的字符串为:"<<b<<endl;    
    cout<<"字符串的长度为:"<<j<<endl;    
    
    return 0;    
    
}    

/****************************** 
**          矩阵的积         ** 
******************************/  
  
  
#include<iostream>  
#include<iomanip>  
using namespace std;  
  
int main()  
{  
    int a[4][5],b[5][3],c[4][3]={0},d,e,f,g;  
    cout<<"请输入一个4行5列数组"<<endl;  
    for(d=0;d<4;d++)  
    {  
        for(e=0;e<5;e++)  
        {  
            cin>>a[d][e];  
        }  
    }  
    cout<<"请输入一个5行3列数组"<<endl;  
    for(d=0;d<5;d++)  
    {  
        for(e=0;e<3;e++)  
        {  
            cin>>b[d][e];  
        }  
    }  
    for(d=0;d<4;d++)      
        for(e=0;e<3;e++)      
        {      
            for(f=0;f<5;f++)      
            {      
                g=a[d][e]*b[d][e];      
                c[d][e]=c[d][e]+g;      
            }      
                  
        }      
    cout<<"由c[4][3]=a[4][5]*b[5][3]"<<endl;    
    cout<<"矩阵c[4][3]为:"<<endl;    
     for(d=0;d<4;d++)      
    {      
        for(e=0;e<3;e++)     
            cout<<c[d][e]<<'\t';        
        cout<<endl;    
    }    
         
    return 0;      
}    


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值