酷酷的代码段

[C]​ 日期差 [第五届蓝桥杯决赛高职高专组-第三题]

【题目描述】

历史上,不同的人类聚居地可能有不同的历法,因而记录下来的资料中日期的换算就很麻烦。幸好今天我们统一使用公元纪年法。当然,这种历法对求两个日期差多少天也不是十分简便,但毕竟是可以忍受的。

下面的程序计算了两个日期的差值,两个日期都使用公元纪年法。

请分析程序逻辑,并推断划线部分缺失的代码。


int to_day(int y, int m, int d)

{

    int mon[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};...


[C]​ 神奇6位数 [第五届蓝桥杯决赛高职高专组-第二题]

【题目描述】

有一个6位的正整数,它有个很神奇的性质:

分别用2 3 4 5 6去乘它,得到的仍然是6位数,并且乘积中所包含的数字与这个6位数完全一样!只不过是它们的顺序重新排列了而已。

请计算出这个6位数。


【代码段】

#include "stdio.h"


int su[]={2, 3, 5, 7, 11, 13, 17, 19, 23, 29}; //素数表 


int suan(int sum)//通过素数表给数字做一个编码 

{

    int...

[C] 国王的遗产 [第五届蓝桥杯决赛高职高专组-第一题]

【题目描述】

X国是个小国。国王K有6个儿子。在临终前,K国王立下遗嘱:国王的一批牛作为遗产要分给他的6个儿子。

其中,大儿子分1/4,二儿子1/5,三儿子1/6,....

直到小儿子分1/9。

牛是活的,不能把一头牛切开分。

最后还剩下11头牛,分给管家。

请计算国王这批遗产中一共有多少头牛。

【Excel做法】

见题图 

【代码段】

#include "stdio.h"

#define Not(I,A); {if(I % A != 0) continue;}


int main()

{

    int sum=0;

    while(1)

    {

        sum++;

        Not(sum,4);

        Not(sum,5);

        Not(sum,6);

        Not(sum,7);

        Not(sum,8);

        Not(sum,9);

        printf("%d\n", sum);

        return 0;

    } 

    return 0;

}

【运行结果】

2520


--------------------------------

Process exited with return value 0

Press any key to continue . . .


[汉化]Simple Feedback Trainer V2.1.0.0 汉化版

晚上突发奇想就把这个软件汉化了一下,因为实在看着英语头痛。

本软件是一个31段均衡器界面,点“开始测试”开始,软件随机播放某频点的纯音,你听了认为是那个频点的声音就去动界面里相应频点的推子,点对了软件会自动随机播放下一频点...这不是一天两的功夫哦,需要大量的时间进行听力训练。能够听出啸叫频点,才能快速控制调音台或均衡器,才能在扩声现场中做到万无一失。这是每个音响师都必备的专业技术。装上这个软件,点击一下“开始测试”吧!


[点击下载]

[C]​ 排日程 [第三届蓝桥杯决赛高职高专组-第五题]

题目描述】

某保密单位机要人员 A,B,C,D,E 每周需要工作5天,休息2天。

上级要求每个人每周的工作日和休息日安排必须是固定的,不能在周间变更。

此外,由于工作需要,还有如下要求:

  1. 所有人的连续工作日不能多于3天(注意:周日连到下周一也是连续)。

  2. 一周中,至少有3天所有人都是上班的。

  3. 任何一天,必须保证 A B C D 中至少有2人上班。

  4. B D E 在周日那天必须休息。

  5. A E 周三必须上班。

  6. A C 一周中必须至少有4天能见面(即同时上班)。

你的任务是:编写程序,列出ABCDE所有可能的一周排班情况。工作日记为1,休息日记为0

A B C D E 每人占用1行记录,从星期一开始。

  • 输入/输出描述

    程序没有...

[C]​ 古代赌局 [第三届蓝桥杯决赛高职高专组-第四题]

【题目描述】

俗话说:十赌九输。因为大多数赌局的背后都藏有阴谋。不过也不尽然,有些赌局背后藏有的是:“阳谋”。

有一种赌局是这样的:桌子上放六个匣子,编号是1至6。多位参与者(以下称玩家)可以把任意数量的钱押在某个编号的匣子上。所有玩家都下注后,庄家同时掷出3个骰子(骰子上的数字都是1至6)。输赢规则如下:

  1. 若某一个骰子上的数字与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目赔付(即1比1的赔率)。

  2. 若有两个骰子上的数字与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目的2倍赔付(即1比2的赔率)。

  3. 若三个骰子上的数字都与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄...

[C]​ 地址转换 [第三届蓝桥杯决赛高职高专组-第三题]

【题目描述】

Excel是最常用的办公软件。每个单元格都有唯一的地址表示。比如:第12行第4列表示为:“D12”,第5行第255列表示为“IU5”。

事实上,Excel提供了两种地址表示方法,还有一种表示法叫做RC格式地址。 第12行第4列表示为:“R12C4”,第5行第255列表示为“R5C255”。

你的任务是:编写程序,实现从RC地址格式到常规地址格式的转换。

  • 输入/输出描述
    用户先输入一个整数n(n<100),表示接下来有n行输入数据。
    着输入的n行数据是RC格式的Excel单元格地址表示法。
    程序则输出n行数据,每行是转换后的常规地址表示法。

  • 样例输入
    2
    R12C4
    R5C255

  • 样例输出...

[C]​ 找素数 [第三届蓝桥杯决赛高职高专组-第一题]

题目描述】

素数就是不能再进行等分的整数。比如:7,11。而9不是素数,因为它可以平分为3等份。一般认为最小的素数是2,接着是3,5,... 

请问,第100002(十万零二)个素数是多少?

请注意:“2” 是第一素数,“3” 是第二个素数,依此类推。

控制住循环的次数即可。其他没什么难点。 

代码段】

#include "stdio.h"

int primeCheck (int sum, int* prime, int n)
{
    int i;
    for (i = 1;...