A :破解简单密码
考察字母大小写转换,以及条件语句的使用。
具体看代码。
B
剪花布条
采用双重for循环暴力查找子串
C :计算时间
详见代码
#include<stdio.h>
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
printf("%02d:%02d:%02d\n",n/3600,n%3600/60,n%3600%60);
}
return 0;
}
D :快来抢学姐的棒棒糖了
开两个数组
分别统计学姐每种口味糖果的数量以及同学们对每种口味糖果的需求量
将两个数组的对应口味进行比较
如果存在一种口味糖果的需求量不能被满足就说明有人会吃不到自己喜欢的口味。
#include <stdio.h>
#include <string.h>
int main()
{
int flag,T,n,m,i,x,a[1010],b[1010];
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&m,&n);
memset(a,0,sizeof(a));///把每种口味糖果的数量初始化为0
memset(b,0,sizeof(b));///把对每种口味糖果需求数初始化为0
for(i=0;i<n;i++)
{
scanf("%d",&x);///读取学姐买糖的口味更新不同口味糖果的数量
a[x]++;
}
for(i=0;i<n;i++)
{
scanf("%d",&x);///更新对不同口味糖果的需求量
b[x]++;
}
flag=1;
for(i=1;i<=m;i++)
{
if(a[i]<b[i])///如果存在一种口味糖果需求量不能被满足则标记
{
flag=0;
break;
}
}
if(flag)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
E :抽奖活动
if语句判断即可
#include <stdio.h>
#include <string.h>
int main()
{
int a[10],i,x;
memset(a,0,sizeof(a));
for(i=0;i<6;i++)
{
scanf("%d",&x);
a[x]=1;
}
if(a[2]+a[0]+a[1]+a[6]==4)
{
printf("First prize\n");
}
else if(a[1]+a[6]==2)
{
printf("Second prize\n");
}
else if(a[6]==1)
{
printf("Third prize\n");
}
else
{
printf("Thank you\n");
}
return 0;
}
F :
看月亮爬上来
首先如果第n天月亮的高度为0
可以肯定第n+1天的高度为1
输出UP
如果第n天月亮的高度为15
可以肯定第n+1天的高度为1
输出DOWN
如果第n天月亮的高度不为0也不为15
那么有以下判断:
如果n多于1天。
比较最后一天和倒数第二天月亮的高度可得出是UP还是DOWN
如果观察天数只有1天
没办法得出是UP还是DOWN
#include <stdio.h>
int main()
{
int i,n,a,b,ans;
scanf("%d",&n);
if(n==1)
{
scanf("%d",&a);
if(a==0)
ans=1;
else if(a==15)
ans=-1;
else
ans=0;
}
else
{
for(i=0;i<n-2;i++)
{
scanf("%d",&a);
}
scanf("%d%d",&a,&b);
if(b==0)
ans=1;
else if(b==15)
ans=-1;
else
{
if(a>b)
ans=-1;
else
ans=1;
}
}
if(ans==1)
printf("UP\n");
else if(ans==-1)
printf("DOWN\n");
else
printf("-1\n");
return 0;
}