小鱼系列简单题参考代码
小鱼的航程
有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上休息,每天都是如此,请问这样过了n天以后,一共累计游泳了多少公里呢?
1 2 3 4 5 6 7 8 |
#include <stdio.h> int main () { int a; scanf("%d",&a); printf("%d",a*250); return 0; } |
小鱼的安家计划
小鱼到达一个新的海域,它要感受下水温如何,如果水温低于15度,它会觉得太冷了(输出‘cold’),如果水温高于25度,它会觉得太热了(输出‘hot’),只有水温在15度和25度之间(包含15度、25度),小鱼才会觉得这是一个可以安家的地方(输出’home’)。
1 2 3 4 5 6 7 8 9 10 |
#include <stdio.h> int main () { float a; scanf("%f",&a); if(a<15) printf("cold"); if(a>25) printf("hot"); if(a>=15&&a<=25) printf("home"); return 0; } |
小鱼的游泳时间
伦敦奥运会要到了,小鱼在拼命练习游泳准备参加游泳比赛,可怜的小鱼并不知道鱼类是不能参加人类的奥运会的。这一天,小鱼给自己的游泳时间做了精确的计时(本题中的计时都按24小时制计算),它发现自己从a时b分一直游泳到当天的c时d分,请你帮小鱼计算一下,它这天一共游了多少时间呢?小鱼游的好辛苦呀,你可不要算错了哦。
1 2 3 4 5 6 7 8 9 |
#include <stdio.h> int main () { int a,b,c,d,x; scanf("%d%d%d%d",&a,&b,&c,&d); x=60*c+d-60*a-b; printf("%d %d",x/60,x%60); return 0; } |
小鱼眼中的其他鱼
在水中游泳的时候,小鱼也在观察着其他鱼。它还记得自己一共看见了n条鱼的长度和宽度,在小鱼那小小的心目中,某些鱼长的实在太可怕了!在小鱼看来,只有那些长度与宽度相加不超过50的鱼,才是可爱的!小鱼现在观察到n条鱼游过,以及他们的长度和宽度,请问在小鱼看来,有几条算是可爱的鱼呢?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <stdio.h> int main () { int a,i,b=0; scanf("%d",&a); char n[2*a+1]; for(i=1;i<=2*a;i++) { scanf("%d",&n[i]); } for(i=1;i<=2*a;i+=2) { if(n[i]+n[i+1]<=50)b++; } printf("%d",b); return 0; } |
小鱼会有危险吗
有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每秒游的距离只有前一秒的98%。有个极其邪恶的猎人在距离A处右边s米的地方,安装了一个隐蔽的探测器,探测器左右x米之内是探测范围。一旦小鱼进入探测器的范围,探测器就开始把信号传递给那个猎人,猎人在一秒后就要对探测器范围内的水域进行抓捕,这时如果小鱼还在这范围内就危险了。也就是说小鱼一旦进入探测器范围,如果能在下1秒的时间内马上游出探测器的范围,还是安全的。现在给出s和x的数据,请你判断小鱼会不会有危险?如果有危险输出’y’,没有危险输出’n’。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <stdio.h> int main () { float a,b=7,c=0,d; scanf("%f%f",&a,&d); while(c<a) { c+=b; b=0.98*b; } b=0.98*b; if(b>2*d) printf("n"); else printf("y"); return 0; } |
小鱼也会感冒咳嗽
小鱼要游经n(n>=2)个水域,感受到了每个水域的温度,如果相邻经过的两个水域的温度差达到10或者10以上,小鱼就会受不了要咳嗽1次。如果出现连续咳嗽2次或者2次以上的情况,小鱼就处于感冒的状态。当然小鱼也具有一定的免疫力,只要到达下一个水域时没有咳嗽,小鱼的感冒马上就好了。请你计算小鱼总共经历了几次咳嗽、几次感冒?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <stdio.h> int main () { int a,x=0,y=0,z,i; scanf("%d",&a); char n[a+1]; for(i=1;i<=a;i++) { scanf("%d",&n[i]); } for(i=2;i<=a;i++) { if(n[i]-n[i-1]>=10||n[i]-n[i-1]<=-10) { z++; x++; } else z=0; if (z==2)y++; } printf("%d %d",x,y); return 0; } |
小鱼的数字游戏
小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个),记住了然后反着念出来(表示结束的数字0就不要念出来了)。这对小鱼的那点记忆力来说实在是太难了,你也不想想小鱼的整个脑袋才多大,其中一部分还是好吃的肉!所以请你帮小鱼编程解决这个问题。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include<stdio.h> int main() { int i=1,n=1; int s[101]; for(;;i++) { scanf("%d",&s[i]); if(s[i]==0)break; } for(;n<i;n++) if (n!=i-1) printf("%d ",s[i-n]); else printf("%d",s[i-n]); return 0; } |
小鱼遇见怪兽
林子大了,什么鸟都有,海里深了,再奇怪的东西也都存在。某天小鱼就遇到了这样一群奇怪的鱼,他们有的有不只一个头,有的不只一个尾巴,这哪里算的上是鱼,这分明就是一群可怕的怪兽!小鱼在极度的惊吓中,仍然用颤抖的鱼鳍数了数,一共有A、B、C三类怪兽(每类怪兽都至少存在一只,每类怪兽的数目一定都是整数),每只A类怪兽有3个头,每只B类怪兽有4个头,每只C类怪兽有5个头,每只A类怪兽有1个尾巴,每只B类怪兽有2个尾巴,每只C类怪兽有4个尾巴,这实在是太可怕了!还没完,小鱼胆子越来越大,又数下了这群怪兽一共有m个头,n个尾巴,以及A类怪兽的数目是x,然后小鱼就实在受不了游回家去了。回到家之后,好奇的小鱼又突然想知道,B类怪兽和C类怪兽的数目分别是多少呢?请你帮忙计算一下。当然还有一种情况是小鱼在惊吓之中数错了,如果是这样你应该输出”No Answer”。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include<stdio.h> int main() { int c,x,m,n,i,a=0; scanf("%d%d%d",&x,&m,&n); for(i=1;2*i<n;i++) { c=(m-3*x-4*i)/5; if(x+2*i+4*c==n&&x*3+i*4+5*c==m) { printf("%d %d",i,c); a=1; } } if(a==0) printf("No Answer"); return 0; } |
小鱼比可爱
人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,而且任意两只鱼的可爱程度都不一样。由于所有的鱼头都朝向左边,所以每只鱼只能看见在它左边的鱼的可爱程度,它们心里都在计算,在自己的眼力范围内有多少只鱼不如自己可爱呢。请你帮这些可爱但是鱼脑不够用的小鱼们计算一下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#include<stdio.h> int main() { int a,i=0,x,b=0; scanf("%d",&a); int n[a]; for(;i<a;i++) { scanf("%d",&n[i]); } printf("0"); for(i=1;i<a;i++) { for(x=i;x>=0;x--) { if(n[i]>n[x])b++; } printf(" %d",b); b=0; } return 0; } |
小鱼吃虾米
常言道,大鱼吃小鱼,小鱼吃虾米。这只小鱼某天游到了一个地方,发现这里有好多虾米,而且成群结队。小鱼仔细观察了下,一共有n*n堆虾米,小鱼决定从这堆虾米的左上方那堆开始,以逆时针的方向(即以向下、向右、向上、向左的顺序重复进行)将游经的虾米整堆吃掉。已知小鱼一共吃了k堆虾米以及每堆虾米数量,请计算小鱼一共吃了多少虾米。
图表示小鱼吃虾米的方向方法,请准确领会题意。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#include<iostream> #include<cstring> using namespace std; int main() { int n,k,s,b=0,i,j,g=0; cin>>n>>k; int a[n+2][n+2]; int x[n+2][n+2]; memset(x,0,sizeof(x)); for(i=1;i<=n;i++) for(j=1;j<=n;j++) { cin>>a[i][j]; if(i==0||i==n+1||j==0||j==n+1) x[i][j]=1; } for(i=0;i<=n+1;i++) for(j=0;j<=n+1;j++) { if(i==0||i==n+1||j==0||j==n+1) x[i][j]=1; } for(i=1,j=1,s=1;s<=k;s++) { g+=a[i][j]; x[i][j]=1; if(b==0)i++; if(b==1)j++; if(b==2)i--; if(b==3)j--; if(b==0&&x[i+1][j]==1)b=1; else if(b==1&&x[i][j+1]==1)b=2; else if(b==2&&x[i-1][j]==1)b=3; else if(b==3&&x[i][j-1]==1)b=0; } cout<<g; return 0; } |
小鱼听到的恐怖故事
小鱼听到过这样一个恐怖的故事,某段海面遭遇人类的大肆捕捞,这段长度为L的海面上有一排鱼,每两只相邻的鱼之间间隔都是1米。可以把这段海面看成一个数轴,一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都有一只鱼。
人类要进行M次捕捞,每次捕捞的范围用它们在数轴上的起始点和终止点表示,每次捕捞范围内的鱼(包括区域端点处的两只鱼)都将被凶残的人类抓走。已知每次捕捞范围的起始点和终止点的坐标都是整数,每次捕捞范围可能有重合的部分。小鱼想知道,经过这M次捕捞,这段海面上还剩下多少只鱼。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include<iostream> using namespace std; int main() { int l,m,i,x,y,j,s=0; cin>>l>>m; int a[l+1]; for(i=0;i<=l;i++) { a[i]=0; } for(i=1;i<=m;i++) { cin>>x>>y; for(j=x;j<=y;j++) { a[j]=1; } } for(i=0;i<=l;i++) { if(a[i]!=1)s++; } cout<<s; return 0; } |