第九周作业

/*********************** 
用指针输出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;  
  
  
}  





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值