第九周作业

本周的作业涵盖了编程的几个重要题目,包括习题1、2和6,涉及算法设计与实现的关键概念。

习题1

#include<iostream>
using namespace std;

int main()
{
	int a[10]={2,4,6,8,10,12,14,16,18,20};
	int *p[10]={&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9]};
	for(int i=0;i<10;i++)
		cout<<*p[i]<<'\t';
	cout<<endl;

	return 0;
}

2

#include <iostream>  
  
using namespace std;  
void lower(char *p);  
const int SIZE=20;  
int main()  
{  
    cout << "请输入一个大写字符串: " << endl;  
    char arr[SIZE];  
    cin>>arr;  
    lower(arr);  
    cout<<"该字符串的小写为:"<<endl;  
    cout<<arr<<endl;  
    return 0;  
}  
void lower(char *p)  
{  
    while(*p)  
    {  
        if(*p>='A'&&*p<='Z')  
            *p+=32;  
        p++;  
    }  
}  

3、

#include <iostream>  
  
using namespace std;  
void del(char *p);  
const int SIZE=20;  
int main()  
{  
    cout << "请输入一个字符串: " << endl;  
    char arr[SIZE];  
    cin.get(arr,SIZE);  
    del(arr);  
    cout<<"删除空格后为:"<<endl;  
    cout<<arr<<endl;  
    return 0;  
}  
void del(char *p)  
{  
    char arr[SIZE];  
    int i=0;  
    for(;*p;i++)  
        arr[i]=p[i];  
    int k=0;  
    for(i=0;arr[i]!='\0';i++)  
    {  
        if(arr[i]!=' ')  
            p[k++]=arr[i];  
    }  
    p[k]='\0';  
  
}  

4

#include <iostream>  
  
using namespace std;  
  
int main()  
{  
  
    const char *month[12]={"January","February","March","April","May","June",  
                  "July","August","September","October","November","December"};  
  
    cout<<"请输入一个1到12之间的整数(输入其他数字则退出):"<<endl;  
    int num;  
    cin>>num;  
    while(num>=1&&num<=12)  
    {  
        cout<<"当前月份是:"<<month[num-1]<<endl;  
        cout<<"请输入一个1到12之间的整数(输入其他数字则退出):"<<endl;  
        cin>>num;  
    }  
    cout<<"Done!\n";  
    return 0;  
}  

5





6

#include <iostream>  
  
using namespace std;  
void max(int *p[],int col,int row);  
int main()  
{  
    int col,row;  
    int i,j;  
    cout<<"请输入第一个数组的行数:";  
    cin>>col;  
    cout<<"请输入第一个数组的列数:";  
    cin>>row;  
    int **ps=new int*[col];  
    for(i=0;i<col;i++)  
        ps[i]=new int[row];  
    cout<<"请输入数组元素:"<<endl;  
    for(i=0;i<col;i++)  
        for(j=0;j<row;j++)  
            cin>>ps[i][j];  
    max(ps,col,row);  
    return 0;  
}  
void max(int **p,int col,int row)  
{  
    int max=0;  
    for(int i=0;i<col;i++)  
        for(int j=0;j<row;j++)  
        {  
            if(p[i][j]>max)  
                max=p[i][j];  
        }  
    cout<<"最大值为:"<<max<<endl;  
}  



#include <iostream>  
  
using namespace std;  
struct mark  
{  
    int chinese;  
    int math;  
    int english;  
};  
int ave(mark arr[]);  
void bad(mark arr[]);  
void good(mark arr[]);  
int main()  
{  
    mark student[5];  
    int i;  
    for(i=0;i<5;i++)  
    {  
        cout<<"请输入第 "<<i+1<<" 个学生的语文成绩:";  
        cin>>student[i].chinese;  
        cout<<"请输入第 "<<i+1<<" 个学生的数学成绩:";  
        cin>>student[i].math;  
        cout<<"请输入第 "<<i+1<<" 个学生的英语成绩:";  
        cin>>student[i].english;  
  
    }  
    cout<<"第二门课程的平均成绩是:"<<ave(student)<<endl;  
    bad(student);  
    good(student);  
    return 0;  
}  
int ave(mark arr[])  
{  
    int aver=0;  
    for(int i=0;i<5;i++)  
    {  
        aver+=arr[i].math;  
    }  
    return aver/5;  
}  
void bad(mark arr[])  
{  
    int num;  
    for(int i=0;i<5;i++)  
    {  
        num=0;  
        if(arr[i].chinese<60)  
            num++;  
        if(arr[i].math<60)  
            num++;  
        if(arr[i].english<60)  
            num++;  
        if(num>=2)  
        {  
            cout<<"第 "<<i+1<<" 号同学有两门或以上成绩不及格。"<<endl;  
            cout<<"其成绩为:"<<endl;  
            cout<<"语文:"<<arr[i].chinese<<"    "<<"数学:"<<arr[i].math<<"    "<<"英语:"<<arr[i].english<<endl;  
        }  
    }  
}  
void good(mark arr[])  
{  
    int ave;  
    int num_1=0,num_2=0;  
    for(int i=0;i<5;i++)  
    {  
        ave=(arr[i].chinese+arr[i].english+arr[i].math)/3;  
        if(ave>90)  
        {  
            cout<<"第 "<<i+1<<"号同学的成绩平均分在90分或以上。"<<endl;  
            num_1++;  
        }  
        if(arr[i].chinese>85&&arr[i].english>85&&arr[i].math>85)  
        {  
            cout<<"第 "<<i+1<<"号同学的全部课程成绩在85分以上。"<<endl;  
            num_2++;  
        }  
  
  
    }  
    if(num_1==0)  
        cout<<"没有一个同学平均成绩在90以上。"<<endl;  
    if(num_2==0)  
        cout<<"没有一个同学的全部课程都在85分以上。"<<endl;  
}  



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值