final文案+美工
作业要求【https://edu.cnblogs.com/campus/nenu/2018fall/homework/2476】
文案+美工:
剧情设计+题目设计+美工:
第21关:
剧情:
计算机学习的第一门语言是c语言,一切从我第一本c语言的书开始。
题目:
#include<stidio.h> int main(){ int i=16; printf("%d",i++); printf("%d",++i); } 问输出结果是什么?
提示:
i++实现执行完再使i=i+1,++i是先让i=i+1再执行。
美工:
第22关:
剧情:
Hello world!”,这是我所编写的第一行程序,应该是所有初学者的第一个程序。
题目:
#include<stdio.h> int main(){ char str[]="Hello world!"; printf("%s",str); } 问输出结果是什么?
提示:
字符处输入输出用%s。
美工:
第23关:
剧情:
大一的新生在老师推荐下,参加了ACM的培训,很多人都对此有着期待。
题目:
#include<stdio.h> int max(int a,int b){ return (a>b)?a:b; } int main(){ int num[10]={8,3,1,0,4,6,7,5,9,2}; int ans=-1; for(int i=0;i<9;i++) ans=max(ans,num[i]); printf("%d",ans); return 0; } 问输出结果是什么?
提示:
x?y:z表示当表达式x为真的时候这条语句结果为y,否则结果为z。
美工:
第24关:
剧情:
我第一次编写出快速排序,这是我当时认为很难的一个程序,我对程序更加有了兴趣。
题目:
#include<stdio.h> int n=6; int num[6]={7,4,3,1,8,2}; int main(int argc,char*argv[]){ quick_sort(0,n-1); for(int i=0;i<n;i++) printf("%d",num[i]); return 0; } quick_sort为排序算法,问输出结果是多少?
提示:
快速排序是复杂度为o(n*logn)的排序算法。本次排序是使用从小到大的排序。
美工:
第25关:
剧情:
在课余的时间里一直编写着程序,室友游戏的声音却进不了我的脑海。
题目:
#include<stdio.h> #include<string.h> int main(){ char str1[]="study"; char str2[]="and"; char str[100]; int len1=strlen(str1); int len2=strlen(str2); strcpy(str,str1); strcat(str,str2); strcat(str,str1); return 0; }
提示:
strlen函数是获取字符串长度;strcpy(a,b)是将字符串a复制成b的函数;strcat(a,b)是将字符串b拼接到a后面的函数。
美工:
第26关:
剧情:
在一段时间的学习之后,对数据结构和算法有了很大的进步。
题目:
程序=数据结构+?
提示:
数据结构就是计算机存储、组织数据的方式;算法可以理解为用程序解决实际问题的方法;两者结合就是程序。
美工:
第27关:
剧情:
每日促使我起床是爱学习的心。
题目:
#include<stdio.h> int wakeup(int time){ if(time!=8) time+=1; return time; } int main(){ int time=6; for(int t=0;;t++){ if(t==time){ time=wakeup(time); if(t==time){ printf("%d",time); break; } } } return 0; }
美工:
第28关:
剧情:
在android课程上的学习上,完成了自己的第一个手机程序,一个象棋游戏。
题目:
struct horse{ int x,y; }h; int main(){ h.x=0; h.y=0; h.x=h.x+1; h.y=h.y+2; printf("%d%d",h.x,h.y); } 问输出结果是什么?
提示:
结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构。
美工:
第29关:
剧情:
在一次比赛之后获得了两个队友,准备参加ACM竞赛。
题目:
#include<stdio.h> int f(int i,int n,int t){ if(i==n) return t; else return f(i+1,n,t*(i+1); } int main(){ int n=5; printf("%d",f(0,5,1)); return 0; } 问输出结果是多少?
提示:
一个含直接或间接调用本函数语句的函数被称之为递归函数,在上面的例子中能够看出,它必须满足以下两个条件:
1)在每一次调用自己时,必须是(在某种意义上)更接近于解;
2)必须有一个终止处理或计算的准则。
美工:
第30关:
剧情:
在学习的过程中,英语成了一个障碍,还是努力学习克服一下吧。
题目:
#include<stdio.h> int main(){ char x='C'; switch(x){ case'A': printf("Physics"); case'B': printf("Chinese"); case'C': printf("English"); } return 0; }
提示:
switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择;当case后面的值和switch中得到的值相同的时候执行该种情况下语句。
美工:
第31关:
剧情:
临近比赛的日子,我们一起练习一起努力。
题目:
#include<stdio.h> struct person{ int one; int two; int three; }; int main(){ printf("%d",sizeof(person)); return 0; }
提示:
int型size大小是4bit;double型长度是16bit;char型长度是1bit,但是当不足4时需要补齐。
美工:
第32关:
剧情:
第一次参加的算法竞赛上获得不错的成绩,这是好的开始,会更加努力下去。
题目:
#include<stdio.h> #include<algorithm> using namespace std; struct team{ int time,question,id; }t[3]; int main(){ t[0].time=210,t[0].question=4,t[0].id=1; t[1].time=200,t[0].question=4,t[0].id=2; t[0].time>t[1].time?printf("%d",t[0].id:printf("%d",t[1].id); return 0; }
提示:
结构体内数据比较。
美工:
第33关:
剧情:
学习与玩之中过去了3年,又到了一次抉择。
题目:
#include<stdio.h> #include<stdlib.h> int main(){ int r=rand()%2; if(r==0) printf("work"); else printf("study"); }
提示:
rand函数是随机函数,rand()%a随机范围是0—a-1;如果结果不对,可以用不对seed多随机几次。
美工:
第34关:
剧情:
在工作和考研上进行犹豫,最后还是选择了去当一名研究生。
题目:
#include<stdio> void graduate(char *str){ char s[10]="master"; int i=0; while(s[i]!='\0') *str++=s[i++]; *str='\0'; return; } int main(){ char i[10]; graduate(i); printf("%s\n",i); return 0;
}
提示:
字符串以\0截止。
美工:
第35关:
剧情:
考试结束,这应该是我大学时期最后的一次考试,感觉很多东西都结束了。
题目:
#include<stdio.h> #include<math.h> struct point{ int x,y; }p1,p2; float dis(point a,point b){ return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); } int main(){ p1.x=0,p1.y=1; p2.x=1,p2.y=0; printf("%.2f\n",dis(p1,p2)); return 0; }
提示:
输出中%.xf表示保留x位小数;sqrt为取根号函数。
美工:
第36关:
剧情:
大学最后的阶段选择自己的研究方向,我选择了比较热门的人工智能方面,感觉是前景最好的方向。
题目:
#include<stdio.h> int Strlen(const char *str){ int len=0; while(*str!='\0') len++,str++; return len; } int main(){ char Str[]="Artificial Intelligence"; printf("%d",Strlen(str)); return 0; }
提示:
strlen为求字符串长度函数;字符串以\0结尾。
美工:
第37关:
剧情:
伴随着毕业论文的答辩结束,大学的时光过去了,各自分开。
题目:
#include<stdio.h> int main(){ int f1=0; int f2=0; for(int i=15;i<=18;i++){ f2=f1+f2; f1=f2-f1; } printf("%d",f2); }
提示:
此处是一种斐波那契数的写法,求得的是第5个斐波那契数。
美工:
第38关:
剧情:
一份又一份的论文,要学习的东西好多。
题目:
#include<stdio.h> #inclued<string.h> #include<algorithm> using namespace std; void translate(char *str){ int len=strlen(str); for(int i=0;i<len/2;i++){ swap(str[i],sre[len-i-1]); } } int main(){ char str[10]="siseht"; translate(str); printf("%s",str); }
提示:swap(a,b)函数用来交换a,b两个变量里面的数据。
美工:
第39关:
剧情:
软件工程这门课目吸引了我,让我对工程有了更多的了解。
题目:
#include<stdio.h> char *solve(char str[]){ static char res[100]; int j=0; for(int i=0;str[i]!='\0';i++){ if(str[i]>='a'&&str[i]<='z') res[j++]=str[i]; else if(str[i]>='A'&&str[i]<='Z') res[j++]=str[i]-'A'+'a'; } res[j]='\0'; return res; } int main(){ char str[]="So@Ftw9are EnGin-e&er1ing"; printf("%s",solve(str)); }
提示:
运用ASCII来使字符串变化,主要是去掉除了字母以外的符号,并且将大写字母转换为小写字母。
美工:
第40关:
剧情:
我每天都在一点一点的进步。
题目:
#include<stdio.h> int qpow(int a,int n){ int res=1; while(n){ if(n&1) res *=a; a=a*a; n=n>>1; } return res; } int main(){ printf("%d",qpow(4,3)); }
提示:
&字符当位运算符,&是将两个二进制数逐位相与,结果是相与之后的结果;>>是位运算符,就是把要移动的数转换成2进制,右移几位就去掉右边的几位数;>>1相当于/2.
美工:
第41关:
剧情:
临近毕业找到一个不错的工作,每天都在持续着自己的工作。
题目:
#includestdio.h> #include<string.h> #include<algorithm> using namespace std; struct person{ int degree,id; operate<(const person & temp) const{ return degree>temp.degree; } }p[5]; int num[5]={4,3,1,5,2}; int main(){ bool check=false; for(int i=0;i<5;i++) p[i].degree=num[i]; for(int i=0;i<5;i++) p[i].id=i+1; sort(p,p+5); for(int i=0;i<5;i++) if(p[i].id==1&&i<2) check=true; check?printf("pass"):printf("false"); }
提示:
operate<是对<进行重载,重新定义>的方式;sort是排序函数,根据<规则进行排序。
美工:
第42关:
剧情:
每天早上都坐着地铁来上班,列车上只有码农一种人。
题目:
#include<stdio.h> #include<stack> using namespace std; stack <int>subway; int main(){ subway.push(1); subway.push(2); subway.push(3); subway.pop(); printf("%d",subway.top()); }
提示:
stack 是数据结构栈,为先进后出的一种数据结构;push操作是将数推入栈,pop操作是将顶层数据推出栈。
美工:
第43关:
剧情:
来到公司,打开我最熟悉的IDE,开始新的一天的工作。
题目:
在Linux操作系统下输入g++ test.cpp-std=c++11-O3-o test,可以将test.cpp文件编译为可执行文件,请问这个文件名是什么?
提示:
g++编译cpp文件,其中可以加入很多参数,-o后面接着的是编译成的可执行文件的文件名。
美工:
第44关:
剧情:
食堂里与同事吃饭,讨论着那个语言是世界上最好的语言。
题目:
c与java哪一种是面向对象编程?哪一种有指针?(两个答案中间用空格分开。)
提示:
其中,c有指针而java没有,c语言是面向过程的语言,执行效率高;java是面向对象的语言,执行效率比c语言低。
美工:
第45关:
剧情:
下班的时间已经过了,但所有人都没有放下手头的工作。
题目:
#include<stdio.h> int main(){ int time=10; bool check=false; if(time>=9&&check)printf("Go home"); else printf("Work"); }
提示:
&&是逻辑运算符,有“与”的意思。a&&b只有当a和b都为真时才返回真,否则为假。
美工:
第46关:
剧情:
项目又一次修改,今天可能回不了家了。
题目:
#include<stdio.h> #include<queue> using namespace std; queue <int>need; int main(){ need.push(1); need.pop(); need.push(2); need.pop(); need.push(3); need.pop(); need.push(4); need.push(5); need.push(6); printf("%d",need.size()); }
提示:
queue为数据结构中的队列,是一种先进先出的数据结构。push操作是将数据推入队列中;pop操作是将数据推出队列。
美工:
第47关:
剧情:
日复一日,那个有梦想的年轻人,依旧坐在这里敲着自己的代码。
题目:
树的前序遍历:ABCDEFGHI
树的中序遍历:CBEDAFHIG
求数的后序遍历。
提示:
树的前序遍历是先输出中间,再输出左儿子,最后输出右儿子;中序遍历是先输出左儿子,再输出中间,最后输出右儿子;后序遍历是先输出左儿子,再输出右儿子,最后输出中间。
美工:
第48关:
剧情:
重复干着相似的工作,虽然是当初的选择,但总感觉不是我想要的。
题目:
#include<stdio.h> #include<vector> using namespace std; vector <int> work; void getwork(){ work.push_back(1); retuen ; } void solvework(){ work.pop_back(); return ; } int main(){ int n=5; while(n--){ getwork(); solvework(); } printf("%d",work.size()); }
提示:
vector它能像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。push_back操作是将数据推入vector后面;pop_back操作是将最后一位数据推出来。size操作是求得vector内数据的个数。
美工:
第49关:
剧情:
某日他辞去了这里的工作,理由上写着世界这么大,我想去看看。
题目:
#include<stdio.h> struct person{ int age,money,health; }p; int main(){ p.age=27,p.money=0,p.healthy=100; for(int i=27;;i++){ p.age++,p.money+=10;p.healthy-=-5; if(p.money>50&&p.healthy<=60){ printf("%d",p.age); break; } } return 0; }
美工:
第50关:
剧情:
骑上他的单车,在前方的分叉路上,他又对01的选择陷入了思考。
题目:
1+1=?
提示:世界上有10种人,一种是会二进制的,一种是不会二进制的。
美工: