您的位置:首页 > 编程语言 > C语言/C++

第三届蓝桥杯C++本科B组决赛解题报告(更新中)

2013-07-04 15:20 429 查看
<1>星期几

9

package JiaNan;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class XingQiJi
{
static Calendar c = new GregorianCalendar(1949,10-1,1);
static int num = 0;
public static void main(String args[])
{
while(c.get(Calendar.YEAR) <= 2012)
{
c.add(Calendar.YEAR, 1);
if(c.get(Calendar.DAY_OF_WEEK) == 1)
{
num++;
}
}
System.out.println(num);
}
}

/*
9
小结:
星期日:1 星期一:2 星期二:3 星期三:4 星期四:5 星期五:6 星期六:7
*/

 

<3>拼音字母

方法1

package JiaNan;
import java.nio.charset.Charset;
public class PinYin
{
static char[] strPinYin = {'a','b','c','d','e','f','g','h','j','k','l','m','n','o','p','q','r','s','t','w','x','y','z'};
static int[]  iRanger   = {0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1,0xf7fe};
static String GetPinYin(String strIn)
{
String resultString = "";
for(int i = 0;i < strIn.length();i++)
{
String curString = "" + strIn.charAt(i);
byte[] bt = curString.getBytes(Charset.forName("GB2312"));
int iFirstByte = bt[0]<<8 & 0xff00;
int iSecondByte = bt[1] & 0xff;
int iFirstLetter = iFirstByte + iSecondByte;
for(int j = 0; j < iRanger.length-1;j++)
{
int iRangerPre = iRanger[j];
int iRangerEnd = iRanger[j+1];
if((iFirstLetter >= iRangerPre) && (iFirstLetter <= iRangerEnd))
{
resultString += strPinYin[j];
break;
}
}
}
return resultString;
}
public static void main(String[] args)
{
String resultString = GetPinYin("好好学习天天向上为国争光我是农大人我爱农大");
System.out.println(resultString);
}
}
/*
hhxxttxswgzgwsndrwand
*/

方法2

#include <iostream>
#include <string>
#include <string.h>
#include <cstdio>
using namespace std;

char a[23][3]={"啊","芭","擦","搭","蛾","发","噶","哈","击","喀","垃","妈","拿","哦","啪","期","然","撒","塌","挖","昔","压","匝"};
char ax[23]={'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z'};

string solve(string ch)
{
int i,j;
string ans;
char b[3];
b[2]='\0';
for(i=0;ch[i]!='\0';i+=2)
{
b[0]=ch[i];
b[1]=ch[i+1];
for(j=0;j<22;j++)//这里注意  小于 下标22
if(strcmp(b,a[j])>=0&&strcmp(b,a[j+1])<0)
break;
ans+=ax[j];//当j=22时,说明这个字是z开头的
}
return ans;
}

int main()
{

string  b;
string singer;
int n,i;
cin>>n;
for(i=0;i<n;i++)
{
cin>>b;
singer=solve(b);
cout<<singer<<endl;
}
return 0;
}

/*
1
我是农大人我爱农大
WSNDRWAND
*/


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: