第九周作业(2)

/*****1、将10个整型数2、3、6...18和20赋予一个数组,然
后使用指针叔叔该数组个元素的值*******************/
#include<iostream>
using namespace std;
int main()
{
	int a[10]={2,4,6,8,10,12,14,16,18,20};
	int *p=a;
	for(int i=0;i<10;i++,p++)
		cout<<*p<<" ";
	cout<<endl;
	return 0;
}


/*****2、把键盘输入的一个大写字符串改为小写字符串并显示出来,
其中大小写转换使用自定义函数lower()实现*******************/
#include<iostream>
using namespace std;
void lower(char *p);
int main()
{
	char a[20],i;
	cout<<"请输入一个大写字符串:";
	cin.get(a,20);
	lower(a);
	cout<<"该字符串的小写形式为:";
	for(i=0;a[i]!=NULL;i++)
	cout<<a[i];
	cout<<endl;
	return 0;
}
void lower(char *p)
{
	while(*p!=NULL)
	{
		if(*p>='A'&&*p<='z')
		{
			*p+=32;
			p++;
		}
	}
}
	


/******3、输入一个字符串,删除其中的所有空格后输出*******************/
#include<iostream>
using namespace std;
int main()
{
	char a[20],*p;   
    cout<<"输入一个字符串:"<<endl;  
    cin.get(a,20);  
    cout<<"删除空格后的字符串为:"<<endl;  
    for(p=a;*p!='\0';p++)  
    if(*p!=' ')  
    cout<<*p;  
    cout<<endl;  
    return 0;  
}  


/******4、编写程序,当输入整数1-12月份时,输出该月的英文名称, 输
入其他整数时结束程序。例如,输入4,则输出April;输入0,则退出程 
序,要求使用指针数组处理*******************/
#include<iostream>
using namespace std;
int main()
{
	char *month[]={"January","February","March","April","May","June",  
                  "July","August","September","October","November","December"};  
	int i;
	while(1)
	{
		cout<<"请输入1~12之间的整数:";
			cin>>i;
			if(i<1||i>12)
				break;
			cout<<"该整数对应的月份为:"<<month[i-1]<<endl;
	}
	return 0;
}

/*****5、分别使用指针数组和二级指针输入、 
输出一个二维整型数组************/
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a[2][3];  
    int *p[2];  
    p[0]=a[0];  
    p[1]=a[1];  
    cout<<"输入一个2X3二维整形数组元素:"<<endl;  
    for(int i=0;i<2;i++)  
    for(int j=0;j<3;j++)  
        cin>>*(p[i]+j);  
    cout<<"用指针数组输出2X3二维整形数组:"<<endl;  
    for(int k=0;k<2;k++)  
    {  
        for(int j=0;j<3;j++)  
        cout<<setw(4)<<*(p[k]+j);  
        cout<<endl;  
    }  
      
    return 0;  
}  

/*********6、输入一个3x4的矩阵,编写函数 
求其中的最大元素*******************/  
#include <iostream>  
using namespace std;  
int main()  
{  
    int a[3][4],i,j,max;  
    cout<<"输入一个3x4的矩阵"<<endl;  
    for(i=0;i<3;i++)  
        for(j=0;j<4;j++)  
            cin>>a[i][j];  
    cout<<"你输入的矩阵为: "<<endl;  
    for(i=0;i<3;i++)  
    {  
        for(j=0;j<4;j++)  
            cout<<a[i][j]<<'\t';  
        cout<<endl;  
    }  
    max=a[0][0];  
    for(i=0;i<3;i++)  
        for(j=0;j<4;j++)  
        {  
            if(max<a[i][j])  
                max=a[i][j];  
        }  
    cout<<"矩阵的最大值为: "<<max<<endl;  
    return 0;  
}  

/*********第三题: 有n个人围成一个圆圈,从第一个人开始报数,从1到3循环,
凡是报3的退出圈子,问最后退出圈子的人是原来的几号**************/  
#include <iostream>  
using namespace std;  
int main()  
{
	int n,i,j=1;  
    cout<<"请输入一个数字"<<endl;  
    cin>>n;  
    cout<<"最后退出圈子的人是原来的";  
    for(i=1;i<n+1;i++)  
    {  
        if(j%3==0)  
            cout<<i<<"号"<<" ";  
        j++;  
    }   
    cout<<endl;   
    return 0;    
} 


/*********第四题:一个班有5个学生,每一个学生有几门成绩(到底是几门自已定,或3或4或5或6),
定义函数来完成下面功能:计算第2门课成的平均分;找出有2门以上成绩不及格的学生,并输出其学号
和全部课程成绩;找出平均成绩在90以上或者全部课程在85分以上的学生**********/
#include<iostream>
using namespace std;  
void fun0(int n)   
{  
     char name[5][5]={"zhao","qian","sun","li","chen"};  
     cout<<"姓名:"<<name[n]<<'\t';  
}    
void fun1(int a,int b,int c, int d,int e)    
{  
    double ave;  
    ave=double(a+b+c+d+e)/5;  
    cout<<"第2门课程的平均分为"<<ave<<"分"<<endl;  
    cout<<endl;  
}    
void fun2(int *a)  
{  
    int i,j=0,*b;  
    b=a;  
    a++;  
    for(i=1;i<5;i++) 
	{
        if(*a<60)  
            a++,j++;  
        else   
            a++;  
    }    
    if(j>=2)  
    {  
        int i;  
        fun0(a[0]);  
        cout<<"学号: "<<*b<<'\t';  
        b++;  
        cout<<"四科成绩分别为: ";  
        for(i=0;i<4;i++,b++)  
        cout<<*b<<'\t';  
        cout<<endl;    
    }            
}    
void fun3(int *a)      
{  
    int i,*b,*c,j=0,sum=0;  
    double ave;  
    b=c=a;  
    a++,b++;  
    for(i=0;i<4;i++,a++)  
        sum+=*a;  
    ave=double(sum)/4;    
    for(i=0;i<4;i++)  
    {  
        if(*b>=85)  
            b++,j++;  
        else  
            b++;  
    }    
    if(j==4 || ave>=90)            
        fun0(a[0]);    
}   
int main()  
{  
    int zhao[]={1,96,90,80,65};     
    int qian[]={2,86,85,86,87};  
    int sun[]={3,55,45,60,35};  
    int li[]={4,95,95,95,95};  
    int chen[]={5,55,56,55,56};        
    fun1(zhao[2],qian[2],sun[2],li[2],chen[2]);  
    cout<<"2门以上成绩不及格的学生有"<<endl;  
    fun2(zhao);  
    fun2(qian);  
    fun2(sun);  
    fun2(li);  
    fun2(chen);  
    cout<<"平均成绩在90以上或者全部课程在85分以上的学生有"<<endl;  
    fun3(zhao);  
    fun3(qian);  
    fun3(sun);  
    fun3(li);  
    fun3(chen);  
    cout<<endl;   
    return 0;   
}  



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值