2016年北理复试上机题

历年北京理工大学复试上机题题目汇总:

http://blog.csdn.net/u014552756/article/details/78505845


1、输入学生信息,姓名 成绩(成绩的数目不一定)
输出每个学生的学号和平均成绩,以及不及格课程数超过2的学生,按不及格课程数从大到小排好序输出。

#include 
#include 
#include 
using namespace std;

struct Stu
{
    string name;
    int a[105];//各科成绩
    int n;//成绩数目
    int num;//不及格科目数
};

bool cmp(Stu a,Stu b)
{
    return a.num>b.num;
}

int main()
{
    Stu stu[105];

    int n=0,m=0;
    string str,ss[105],s[105];

    while(getline(cin,ss[m]))//读取字符串
    {
        m++;
    }

    for(int l=0; l='0'&&str[j]<='9')
                {
                    st=j;
                    flag=1;
                }
            }
            else if(flag==1)
            {
                if(str[j]==' '||str[j]=='A')
                {
                    ed=j;
                    int sum=0;
                    string t=str.substr(st,ed-st);
                    for(int k=0; k2)
        {
            aa[tt++]=stu[i].name;
        }
    }
    if(tt>0)
    {
        cout<<"不及格科目数超过2的学生为:";
        for(int i=0; i

2016年北理复试上机题_第1张图片  2016年北理复试上机题_第2张图片

2、输入字符串,输出字符串中包含的数字,比如 2.3ABC0-2.3  输出 2.3 0 -2.3。

注意一些特殊的情况如+004.500值为+4.5。

#include 
#include 
using namespace std;

int main()
{
    string str,s[105];
    getline(cin,str);

    int i,j,k,n=0,flag=0,st=-1,dot=0;
    str[str.length()]='A';
    for(i=0; i='0'&&str[i]<='9'))
            {
                flag=1;
                st=i;
            }
        }
        else if(flag==1)
        {
            if(str[i]=='.')
            {
                if(dot==1)
                {
                    s[n++]=str.substr(st,i-st);
                    flag=0;
                    dot=0;
                    st=-1;
                    i--;
                }
                else
                    dot=1;
            }
            else if(str[i]=='+'||str[i]=='-')
            {
                s[n++]=str.substr(st,i-st);
                flag=0;
                st=-1;
                dot=0;
                i--;
            }
            else if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')||str[i]==' ')
            {
                s[n++]=str.substr(st,i-st);
                flag=0;
                st=-1;
                dot=0;
            }
        }
    }

    for(i=0; i='1'&&str[j]<='9')||str[j]=='.')
            {
                t=j;
                break;
            }
        }
        if(str[t]=='.')//第一个为小数点
        {
            cout<<"0.";
            for(j=str.length()-1; j>=0; j--)
                if(str[j]>='1'&&str[j]<='9')
                    break;
            for(k=t+1; k<=j; k++)
                cout<=0; j--)
                if(str[j]>='1'&&str[j]<='9')
                    break;
            for(k=t; k<=j; k++)
                cout<

2016年北理复试上机题_第3张图片

你可能感兴趣的:(北理考研初试复试,北京理工大学计算机考研)