几段有趣的C语言代码
COND”或“DEUCE”(不输出引号)。
输入示例1
S B
输出示例1
SECOND
输入示例2
B B
输出示例2
DEUCE
#include
int main()
{
char a,b,S,J,B;
scanf("%c %c",&a,&b);
if(a=='S')
{
if(b=='S') printf("DEUCE");
else if(b=='J') printf("FIRST");
else if(b=='B')printf("SECOND");
}
else if(a=='J')
{
if(b=='S') printf("SECOND");
else if(b=='J') printf("DEUCE");
else if(b=='B')printf("FIRST");
}
else if(a=='B')
{
if(b=='S') printf("FIRST");
else if(b=='J') printf("SECOND");
else if(b=='B')printf("DEUCE");
}
}
分数统计
试题描述
输入N个学生的英语分数,哪个分数出现的次数最多?如果有多个并列,从小到大输出。分数均为不超过100的非负整数。
输入
输入包含两行:
第一行是一个整数N(0 < N <= 300)。
第二行是N个非负整数,分别表示N个学生分数,两个相邻的整数之间用一个空格隔开。
输出
输出出现次数最多的分数。如有多个,用空格隔开,并从小到大输出。
输入示例
6
10 20 30 40 20 10
输出示例
10 20
数据范围
对于100%的数据,0 < N <= 300,0 <= 分数 <= 100
#include
int main()
{
int i,j[300],a[300],n,k,max,l[300],da,m=0,q;
scanf("%d",&n);
for(i=0;i
scanf("%d",&a[i]);
for(i=0;i
{j[i]=0;
for(k=0;k
{
if(a[k]==a[i])
j[i]=j[i]+1;
}
}
max=j[0];
for(i=1;i
{
if(j[i]>=max)
max=j[i];
}
for(i=0;i
{
if( j[i]==max)
{m=m+1;}}
k=0;q=0;
while(k
{
for(i=q;i
{
if( j[i]==max)
{
l[k]=a[i];
k=k+1;
q=i;
}
}
}
for(i=0;i
for(k=0;k
{
if(l[k]>l[k+1])
{
da=l[k];
l[k]=l[k+1];
l[k+1]=da;
}
}
for(i=0;i
{
if(l[i+1]==l[i])
continue;
printf("%d",l[i]);
printf(" ");
}
}
喝醉的狱卒
试题描述
在一所监狱里有一条长长的走廊,沿着走廊排列着n个牢房,编号为1到n。每个牢房有一个囚犯,而且牢房的门都是锁着的。
一天晚上,狱卒很无聊,于是他就玩起了一个人的游戏。第一轮,他喝了一口威士忌,然后沿着走廊,将所有牢房的门打开。第二轮,他又喝了一口威士忌,然后又沿着走廊,将所有编号为2的倍数的牢房锁上。第三轮,他再喝一口威士忌,再沿着走廊,视察所有编号为3的倍数的牢房,如果牢房是锁着的,他就把它打开;如果牢房是开着的,他就把它锁上。他如此玩了n轮后,喝