相关资料转载(抱紧大佬的腿)
模拟题
ZJUT Openjudge
ZJUT上机考试官方网站,里面第4~6页是接近考试的题型
ZJUT online OJ c++通关模拟题题解
某大佬将所有题目做完并且无私分享了相关题解
真题
2020年6月计算机学院转专业第一志愿上机
月下独饮小可爱大佬将上机的相关题目和经历分享
浙江工业大学计算机学院转专业机试题目
菜鸡姜姜大佬的相关题目分享
以上大佬的题目和解析对当时转专业的我来说非常可贵,再一次感谢你们(鞠躬)
如果想挑战高难度
洛谷
时间和信息
- 时间:第12周提交材料,13周上机考(考试时长:一个半小时)
- 知识:不用学习数据结构,算法等高深莫测的东西,基本的c++/c语言的操作要会
- 规则:上机考要过三道题才能进入面试(进入面试基本上稳了)
题目(凭印象)
Problem A:
输出"Welcome to Hang Zhou.",不用换行
代码
cout<<"\"Welcome to Hang Zhou.\""
'\' 号要会打
不换行(机考好像有这个坑)
Problem B:
运输邮费问题:(数字随便编的)
”OJ“ 第一kg 5元,以后每一kg加3元
”OPJ“ 第一kg 6元,以后每一kg加4元
”OAJ“ 第一kg 7元,以后每一kg加5元
每一组输入一行字符串,输入一个数字(几公斤)
输出一个数字(最终邮费)
考虑大小写的区别,如果输入的一行字符串和上面字符串都不同,输出”Error“
代码
#include<bits/stdc++.h>
using namespace std;
char a[999];
int main()
{
int n;
while(cin>>a>>n)
{
int s=0;
if(strcmp(a,"OJ")!=0&&strcmp(a,"OPJ")!=0&&strcmp(a,"OAJ")!=0)
{ cout<<"Error"<<endl; continue;}
if(strcmp(a,"OJ")==0)
{
if(n==1) s=5;
if(n>1) s=5+(n-1)*3;
}
if(strcmp(a,"OPJ")==0)
{
if(n==1) s=6;
if(n>1) s=6+(n-1)*4;
}
if(strcmp(a,"OAJ")==0)
{
if(n==1) s=7;
if(n>1) s=7+(n-1)*5;
}
cout<<s<<endl;
}
return 0;
}
Problem C:
画山和水形状:
用’W’画出一个山,后面一行‘-’代表分割线水面然后再输出一个倒立三角形
'-'要比山形状多4个(左右都有)
<作者比较懒>跳过这道题的编写
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
int i,j;
while(cin>>n)
{
int l=4+n;
for(i=1;i<=n;i++)
{
for(j=1;j<=l-i+1;j++)
cout<<" ";
for(j=1;j<=2*i-1;j++)
cout<<"W";
cout<<endl;
}
for(i=1;i<=2*l+1;i++)
cout<<"-";
cout<<endl;
for(i=n;i>=1;i--)
{
for(j=1;j<=l-i+1;j++)
cout<<" ";
for(j=1;j<=2*i-1;j++)
cout<<"W";
cout<<endl;
}
}
return 0;
}
Problem :D
三进制输出:
每组输入一行字符串(包括空格),每一个字符转化为ASCII的int形式,将int形式用三进制输出
代码
#include<bits/stdc++.h>
using namespace std;
char a[999];
int sana(int k)
{
int s=0,i1;
int san[999]={0};
while(k!=0)
{
s++; san[s]=k%3;
k=k/3;
}
for(i1=s;i1>=1;i1--)
cout<<san[i1];
}
int main()
{
int i;
while(gets(a))
{
int l=0;
for(i=0;i<strlen(a);i++)
{
l=int(a[i]);
sana(l);
}
cout<<endl;
}
return 0;
}
Problem :E
交换数字的题目(个人认为最坑的):
输入一串数列,每个数列由a1~an组成,现在规则如下:
- 选出a1~an中最小值和最大值,将最小值和a1交换,再将最大值和an交换,输出出来交换后数列
- 选出a2~an-1中最小值和最大值,将最小值和a2交换,再将最大值和an-1交换,输出出来交换后数列
- 选出a3~an-2最小值和最大值,将最小值和a3交换,再将最大值和an-2交换,输出出来交换后数列
如此类推。。。直到没有范围为止
<这道题目最坑点>:最小值和最大值不能一起找。在最小值和a1交换之后(万一a1就是最大值,最大值的序号就变了!!!之后再去拿之前找好的最大值序号和an交换,交换个锤子)
<破题点>:先找最小值,交换,再去找最大值,交换。
#include<bits/stdc++.h>
using namespace std;
int a[999];
int minm(int r1,int r2)
{
int p,xiao=0;
int mina=999;
for(p=r1;p<=r2;p++)
if(mina>a[p]) {mina=a[p]; xiao=p;}
return xiao;
}
int maxm(int r3,int r4)
{
int q,daa=0;
int maxa=0;
for(q=r3;q<=r4;q++)
if(maxa<a[q]) {maxa=a[q]; daa=q;}
return daa;
}
int main()
{
int n;
int i,j,i1;
while(cin>>n)
{
for(i=1;i<=n;i++)
cin>>a[i];
for(i=1,j=n;i<j;i++,j--)
{
int da=0,xi=0;
xi=minm(i,j);
swap(a[i],a[xi]);
da=maxm(i,j);
swap(a[j],a[da]);
for(i1=1;i1<=n-1;i1++)
cout<<a[i1]<<",";
cout<<a[i1]<<endl;
}
}
return 0;
}
- 这个随便看看,作者不会做…
面试
- 自我介绍一分钟
- 对这个专业是否了解
- 为什么上机考试某个题目没有做出来
- 以后要补哪些课(培养计划)
- 以后什么打算
附则
- 如果一开始就想好准备转哪个专业,大一下学期第1~2周可以申请退和转过去的专业无关课程(具体课程看培养计划)前提是有把握转成功
- 如果想参加ACM,不要错过大一上学期12月浙江工业大学程序设计迎新赛,或者ACM课程(没上过…)其他学院不会收到这个比赛的通知,注意查看
- 正方教务管理系统可以查看学校所有课程的上课时间和地点,如果对专业不确定可以尝试听一下自己感兴趣的专业课程
- 转专业之后会有相关课程需要补上,很可能会去朝晖补课,计算机大二在屏峰
- 转专业看的是大一上的绩点,那么大一上绩点一定要高,计算机保证数学英语计算机有一定分数线
- 转入计算机之后,大一绩点有一部分会纳入保研总绩点中(大一计算机学过的学科算绩点,没学过的学科不算绩点,这就是申请退课的原因)
- 如果有机会看一下《SEU生存指南》《大学突围》,作者感觉很有收获,老王nb!!!浪前NB!!!
- 注意看教务处的转专业实施细则
计算机劝退
-
作为全校最火的学院(除健行),里面高手云集,是否有能力有决心去加入他们(4.0绩点排在学院第50名)
-
计算机很费脑子,很多时候一个bug找半天…
-
如果想提高绩点准备保研,在计算机学院可以不用太期待,要面对大一下转专业之后不到三周的期末考试,大二上补大一的课程,大二上艰难的课程(现在我就是这种情况),相比之下转入信息学院,大一绩点全都不纳入保研成绩里面(这一条大佬请略过)
-
c语言课程如果已经学过,分两种情况,信息学院转计算机可以直接把成绩转换过去,其他学院的不承认,但是10月份有c语言免修考试,如果通过了就可以把之前c语言成绩转换过去
如果这些都难不倒你,那么==欢迎你们填报计算机==
Hello World!
码文字好累,休息一下一下一下~~~~~~~~~~