第九周作业

/***********************  
用指针输出10个整形数  
***********************/     
#include<iostream>    
#include<iomanip>    
using namespace std;    
int main()    
{    
    int a[10]={2,4,6,8,10,12,14,16,18,20};    
    int *p;    
    p=a;    
    for(;p<a+10;p++)    
        cout<<setw(4)<<*p;    
    cout<<endl;    
    return 0;    
    
    
}    
/***********************  
     输出对应年份  
***********************/     
#include<iostream>    
using namespace std;    
int main()    
{    
    char *yearname[]={"January","February","March","April","May","June","July","August","September","October","November","December"};    
    int i;    
    while(1)    
    {       
        cout<<"please input year NO.:";    
        cin>>i;    
        if(i<0||i>12)    
            break;    
        cout<<"year NO"<<i<<"----"<<yearname[i-1]<<endl;    
    }    
        
        
    return 0;    
    
    
}    

/***********************  
**大写字符串转换成小写**  
***********************/     
#include<iostream>    
using namespace std;    
    
void lower(char*c);    
    
int main()    
{    
    char s[50];    
    cout<<"please input a string:";    
    cin.get(s,50);    
    lower(s);    
    cout<<endl;    
    return 0;    
    
    
}    
    
void lower(char*c)    
{    
    for(;*c!='\0';*c++)    
        if(*c>='A'&&*c<='Z')    
        {    
            *c+='a'-'A';    
            cout<<*c;    
        
        }    
    
}    

/***********************  
** 删除字符串空格输出 **  
***********************/     
#include<iostream>    
using namespace std;    
    
void lower(char*c);    
    
int main()    
{    
    char s[50];    
    cout<<"please input a string:";    
    cin.get(s,50);    
    lower(s);    
    cout<<endl;    
    return 0;    
    
    
}    
    
void lower(char*c)    
{    
    for(;*c!='\0';*c++)    
        if(*c!=' ')    
        {    
            cout<<*c;    
        
        }    
    
}    

/***********************  
用指针数组输入输出  
 一个二维整形数组  
***********************/     
#include<iostream>    
using namespace std;    
    
    
int main()    
{    
    int a[2][3];    
    int (*p)[3];    
    int i,j;    
    p=a;    
    cout<<"请给a[2][3]赋值:"<<endl;    
    for(i=0;i<2;i++)    
        for(j=0;j<3;j++)    
            cin>>a[i][j];    
        
    for(i=0;i<2;i++)    
        for(j=0;j<3;j++)    
        {    
            cout<<"a["<<i<<"]["<<j<<"]:";    
            cout<<(*p)[j]<<endl;     
        }    
        p++;    
    
    cout<<endl;    
    return 0;    
    
    
}    

/***********************  
用二级数组输入输出  
 一个二维整形数组  
***********************/     
#include<iostream>    
using namespace std;    
    
    
int main()    
{    
    int a[2][3];    
    int *p[2],**pp;    
    int i,j;    
    p[0]=&a[0][0];    
    p[1]=&a[1][0];    
    pp=p;    
    cout<<"请给a[2][3]赋值:"<<endl;    
    for(i=0;i<2;i++)    
        for(j=0;j<3;j++)    
            cin>>a[i][j];    
        
    for(i=0;i<2;i++)    
        for(j=0;j<3;j++)    
        {    
            cout<<"a["<<i<<"]["<<j<<"]:";    
            cout<<*(*(pp+i)+j)<<endl;    
        }    
            
    cout<<endl;    
    return 0;    
    
    
}    

/***********************  
输入一个[3][4]矩阵  
输出最大元素  
***********************/     
#include<iostream>    
using namespace std;    
    
    
int main()    
{    
    int a[3][4];    
    int b[12];    
    int (*p)[4];    
    int i,j,k=0,big;    
    p=a;    
    cout<<"请给a[3][4]赋值:"<<endl;    
    for(i=0;i<3;i++)    
        for(j=0;j<4;j++)    
            cin>>a[i][j];    
        
    for(i=0;i<3;i++)    
    {   for(j=0;j<4;j++)    
        {    
            b[k]=(*p)[j];    
            k++;        
                
        }    
        p++;    
    }    
    big=b[0];    
    for(k=1;k<12;k++)    
        if(b[k]>big)    
            big=b[k];    
    cout<<"矩阵[3][4]中最大元素为:"<<big<<endl;    
    return 0;    
    
    
}    
/***********************  
计算第2门课成的平均分请------------输入1  
有2门以上成绩不及格的学生,并输出其学号和全部课程成绩----输入2  
平均成绩在90以上或者全部课程在85分以上的学生------请输入3  
***********************/     
#include<iostream>    
#include<iomanip>    
using namespace std;    
    
double mode0(int);    
void mode1();    
void mode2();    
void mode3();    
int a[3][5]={80,55,47,92,96,75,59,56,80,92,72,52,61,85,95};    
int (*p)[5];    
int i=0,j=0;    
    
int main()    
{    
    int c;    
    p=a;    
    cout<<"请输入:"<<endl;    
    cin>>c;    
    switch(c)    
    {    
    case 1:mode1();break;    
    case 2:mode2();break;    
    case 3:mode3();break;    
    
    
    
        
        
    }    
    return 0;    
    
    
}    
    
    
double mode0(int x)    
{    
    for(int b=0;i<3;i++)    
        b+=(*(p+i))[x];    
    return b/3.0;    
}    
    
    
    
void mode1()    
{    
    for(int b=0;j<5;j++)    
        b+=(*(p+1))[j];    
    cout<<"第二门课程平均分为:"<<b/5.0<<endl;    
    
}    
    
void mode2()    
{    
    int z;    
    for(j=0;j<5;j++)    
    {   for(i=0,z=0;i<3;i++)    
            if((*(p+i))[j]<60)    
                z++;    
        if(z>=2)    
        {cout<<"学号为:"<<j<<endl;    
            for(i=0;i<3;i++)    
                cout<<"第"<<i+1<<"科成绩为:"<<(*(p+i))[j]<<endl;    
        }    
    }    
}    
    
void mode3()    
{    
    int z,y;    
    cout<<"全部课程在85分以上的学生的学号有:";    
    for(j=0;j<5;j++)    
    {   for(i=0,z=0;i<3;i++)    
            if((*(p+i))[j]>85)    
                z++;    
        if(z==3)    
            cout<<setw(3)<<j<<endl;    
            
    }    
    cout<<endl;    
    cout<<"全部课程平均分在90分以上的学生的学号有:";    
    for(j=0;j<5;j++)                     
        if(mode0(j)>90)    
            cout<<setw(3)<<j;    
    }    
    cout<<endl;    
    
    
}    



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值