比赛地址:
http://172.21.40.250/web/contest/show/cid/133
(仅支持校园网访问) 密码rjkfxlx
1.日常水题
本题就在于hello复制粘贴就可以,最后一个o是特殊符号,不是英文字母o
#include<stdio.h>
int main()
{
printf("hellο");
return 0;
}
2.精挑细选
(代码又双叒叕是抄来的)
这道题对每次输入的数据进行比较,先用 a,b,c代表输入的第一组数据,然后每一组数据与前一组比较,只保留符合要求的数据,最后输出
#include<stdio.h>
int main()
{
int n,m,i,a,b,c,x,y,z;
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
a=0;b=0;c=0;
for(i=0;i<m;i++)
{
scanf("%d%d%d",&x,&y,&z);
if(x>a||x==a&&y<b||x==a&&y==b&&z>c) { a=x;b=y;c=z; }
}
printf("%d\n",c);
}
return 0;
}
3.字符串右移
(这段话是我抄的)
1234abcde 是不是很像先输出1234 再输出abcde
由数组角标分析 是从a[5]开始输出到结尾 再从a[0]输出到a[4]
当步数大于字符串长度时 步数n=n%l(字符串长度);
为了方便起见 直接把n=n%10进行了操作
#include<stdio.h>
#include<string.h>
int main()
{
char s[100];
int n,j;
while(~scanf("%s%d",s,&n))
{
int l=strlen(s);
n=n%l;
printf("%s",s+l-n);
for(j=0;j<l-n;j++)
printf("%c",s[j]);
printf("\n");
}
return 0;
}
4.恨7不成妻
对于各种情况进行遍历即可
#include <stdio.h>
int main()
{
int a,b,i,sum=0,p=0;
while(scanf("%d %d",&a,&b)!=EOF)
{
sum=0;
for(i=a;i<=b;i++)
{
if(i%10==7||i/10%10==7||i/100%10==7)
continue;
p=i%10+i/10%10+i/100%10+i/1000;
if(p%7!=0&&i%7!=0)
{sum+=i*i;}
}printf("%d\n",sum);
}
return 0;
}
5.小媛在努力
输入的时候,输入每一个数字和上一个数字进行比较,如果相等就记录下来,不相等就输出,最后记得把最后一组输出
#include<stdio.h>
int main()
{
int t,i;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
int cnt=0,tp;
for(i=0;i<n;++i)
{
int a;
scanf("%d",&a);
if(!i||a==tp)
{
++cnt;tp=a;
}
else
{
printf("%d %d ",cnt,tp);
cnt=1;tp=a;
}
}
printf("%d %d\n",cnt,tp);
}
return 0;
}
6.王老师生日
本题为逻辑问题,不懂可自行百度,晚上会讲
7 .努力的蜗牛
这道题有很多方法,我的一个思路就是对于10m之内就是1天到顶
大于十米,每5米是一天,把高度减10除以5在加上第一天就是天数,但是到顶的话就不用再加二了,加上一天即可.
#include<stdio.h>
int main()
{
int H,i,x;
scanf("%d",&i);
while(i--){
scanf("%d",&H);
if(H<=10)
printf("1\n\n");
if(H>10)
{
x=(H-10)/5;
if(H%5==0)
x=x+1;
else
x=x+2;
printf("%d\n\n",x);
}}
return 0;
}