C#竞赛题Word格式.docx
- 文档编号:8214863
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:11
- 大小:20.56KB
C#竞赛题Word格式.docx
《C#竞赛题Word格式.docx》由会员分享,可在线阅读,更多相关《C#竞赛题Word格式.docx(11页珍藏版)》请在冰点文库上搜索。
/returns>
publicstringToUpper(decimald)
if(d==0)
return"
零元整"
;
stringje=d.ToString("
####.00"
);
if(je.Length>
15)
"
je=newString('
0'
15-je.Length)+je;
//若小于15位长,前面补0
stringstry=je.Substring(0,4);
//取得'
亿'
单元
stringstrw=je.Substring(4,4);
万'
stringstrg=je.Substring(8,4);
元'
stringstrf=je.Substring(13,2);
//取得小数部分
stringstr1="
str2="
str3="
str1=this.getupper(stry,"
亿"
//亿单元的大写
str2=this.getupper(strw,"
万"
//万单元的大写
str3=this.getupper(strg,"
元"
//元单元的大写
stringstr_y="
str_w="
if(je[3]=='
||je[4]=='
)//亿和万之间是否有0
str_y="
零"
if(je[7]=='
||je[8]=='
)//万和元之间是否有0
str_w="
stringret=str1+str_y+str2+str_w+str3;
//亿,万,元的三个大写合并
for(inti=0;
i<
ret.Length;
i++)//去掉前面的"
if(ret[i]!
='
零'
)
ret=ret.Substring(i);
break;
for(inti=ret.Length-1;
i>
-1;
i--)//去掉最后的"
ret=ret.Substring(0,i+1);
if(ret[ret.Length-1]!
)//若最后不位不是'
,则加一个'
字
ret=ret+"
if(ret=="
零零元"
)//若为零元,则去掉"
元数"
,结果只要小数部分
ret="
if(strf=="
00"
)//下面是小数部分的转换
整"
else
stringtmp="
tmp=this.getint(strf[0]);
if(tmp=="
ret=ret+tmp;
ret=ret+tmp+"
角"
tmp=this.getint(strf[1]);
分"
if(ret[0]=='
ret=ret.Substring
(1);
//防止0.03转为"
零叁分"
,而直接转为"
叁分"
returnret;
//完成,返回
///把一个单元转为大写,如亿单元,万单元,个单元
str"
这个单元的小写数字(4位长,若不足,则前面补零)<
strDW"
亿,万,元<
转换结果<
privatestringgetupper(stringstr,stringstrDW)
if(str=="
0000"
stringret="
stringtmp1=this.getint(str[0]);
stringtmp2=this.getint(str[1]);
stringtmp3=this.getint(str[2]);
stringtmp4=this.getint(str[3]);
if(tmp1!
="
ret=ret+tmp1+"
仟"
ret=ret+tmp1;
if(tmp2!
ret=ret+tmp2+"
佰"
)//保证若有两个零'
00'
,结果只有一个零,下同
ret=ret+tmp2;
if(tmp3!
ret=ret+tmp3+"
拾"
ret=ret+tmp3;
if(tmp4!
ret=ret+tmp4;
)//若第一个字符是'
,则去掉
if(ret[ret.Length-1]=='
)//若最后一个字符是'
ret=ret.Substring(0,ret.Length-1);
returnret+strDW;
//加上本单元的单位
///单个数字转为大写
c"
小写阿拉伯数字0---9<
大写数字<
privatestringgetint(charc)
stringstr="
switch(c)
case'
:
str="
1'
壹"
2'
贰"
3'
叁"
4'
肆"
5'
伍"
6'
陆"
7'
柒"
8'
拐"
9'
玖"
returnstr;
}
第二题:
(中)
有一群人被困在了一个小岛上,他们只有一个竹排可以逃生,竹排只能坐一个人,于是他们决定通过玩退圈游戏来决定哪个人可以坐上竹排逃生。
这些人围成一个圆圈,从1开始每个人顺序编号,他们商定了一个不幸的数字unlunckyNumber,然后从1的人开始报数,报到unlunckyNumber的倍数就退出游戏,真到最后剩下一个人,这个人就是可以得到竹排的人,编写程序,在Main()方法中输入玩游戏的人数和不幸的数字unluckyNumber,自定义Play()方法按游戏规则进行游戏,方法返回赢的人编号。
参考代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceConsoleApplication1
{
classProgram
{
staticvoidMain(string[]args)
{
intunlunckyNumbe;
//厄运数字
intpeople;
//人数
Console.WriteLine("
这是一个非常经典的死亡游戏,只有一个人可以生存!
请选择游戏人数"
people=int.Parse(Console.ReadLine());
请选择厄运数字"
unlunckyNumbe=int.Parse(Console.ReadLine());
intend=start(unlunckyNumbe,people,outend);
最后的胜利者是:
{0}"
end);
Console.ReadLine();
}
privatestaticintstart(intunlunckyNumbe,intpeople,outintend)
开始游戏了!
inti=0;
//数组循环的索引
bool[]array=newbool[people];
//定义的游戏人数
intliver=people;
//剩下的生存者
intcountnumber=0;
//报号
for(i=0;
array.Length;
i++)
{
array[i]=true;
//初始化每个人都为真
}
do
for(i=0;
{
if(array[i]==true)
countnumber++;
//当为真的时候报数
if(countnumber%unlunckyNumbe==0)
array[i]=false;
liver--;
//生存人数减1
}
if(liver==1)//当生存人数仅剩一人时
break;
}while(liver>
1);
for(i=0;
if(array[i])
end=i+1;
returnend;
第三题:
(简单)
删除一个整型数组中重复的元素,只保留一个。
参考代码:
class去除重复元素
staticvoidMain(string[]args)
stringss=Console.ReadLine();
int[]aa=newint[ss.Length];
ss.Length;
i++)
aa[i]=Convert.ToInt32(ss[i].ToString());
intlen=aa.Length;
len-1;
for(intj=i+1;
j<
len;
j++)
if(aa[i]==aa[j])
for(intm=j;
m<
len-1;
m++)
aa[m]=aa[m+1];
len--;
{j--;
}
Console.WriteLine(aa[i]);
Console.ReadLine();
第四题:
齐天大圣在天宫摘了一个蟠桃回来,想要分给自己的子孙但是猴子太多了,大圣想了一个方法,猴子们站成一排,然后报数,“1”,“2”,“1”,“2”…按照这种顺序,第一次凡是数到1的都被淘汰,剩下的人继续从1开始报数,组数字后留下的猴子就是桃子的主人。
现在要求猴子的数量由输入决定,然后求出最后成功的是第几个。
第五题:
(难)
5.A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些
人参加了竞赛:
(1)A参加时,B也参加;
(2)B和C只有一个人参加;
(3)C和D或者都参加,或者都不参加;
(4)D和E中至少有一个人参加;
(5)如果E参加,那么A和D也都参加。
static
void
Main(string[]
args)
char[]
name={'
A'
'
B'
C'
D'
E'
};
int[]
value
=
new
int[5];
for
(value[0]=0;
value[0]<
2;
[0]++)
(value[1]=0;
value[1]
<
value[1]++)
(value[2]=0;
value[2]
value[2]++)
(value[3]=0;
value[3]
value[3]++)
(value[4]=0;
value[4]
value[4]++)
if
((value[1]
value[0])
&
(value[1]
+
==
1)
(value[2]
value[3])
(value[3]
value[4]==1)
(value[4]==0
||
value[4]==1
value[0]==1
value[3]==1))
(int
i
0;
5;
i++)
(value[i]==1)
Console.WriteLine("
{0}参加"
name[i]);
else
{0}不参加"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 竞赛题
![提示](https://static.bingdoc.com/images/bang_tan.gif)