蓝桥杯试题答案(C语言)
蓝桥比赛练习C语言[5篇]
![蓝桥比赛练习C语言[5篇]](https://img.taocdn.com/s3/m/b28120ac6429647d27284b73f242336c1eb930e0.png)
蓝桥比赛练习C语言[5篇]第一篇:蓝桥比赛练习C语言时间限制:1.0s 内存限制:256.0MB1闰年判断问题描述给定一个年份,判断这一年是不是闰年。
当以下情况之一满足时,这一年是闰年: 1.年份是4的倍数而不是100的倍数; 2.年份是400的倍数。
其他的年份都不是闰年。
输入格式输入包含一个整数y,表示当前的年份。
输出格式输出一行,如果给定的年份是闰年,则输出yes,否则输出no。
说明:当试题指定你输出一个字符串作为结果(比如本题的yes 或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。
样例输入2013 样例输出no 样例输入2016 样例输出yes 数据规模与约定1990 <= y <= 2050。
本题的C参考代码如下:1.#include2.int main()3.{4.int y;5.scanf(“%d”, &y);6.if(y%4==0 && y%100!=0 || y%400==0)7.printf(“yes”);8.else9.printf(“no”);10.return 0;11.} 2.01字串问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。
它们的前几个是:00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串。
输入格式本试题没有输入。
输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出00000 00001 00010 00011 本题的C参考代码如下:1.#include2.int main()3.{4.int i, j, k, l, m;5.for(i = 0;i <= 1;++i)6.for(j = 0;j <= 1;++j)7.for(k = 0;k <= 1;++k)8.for(l = 0;l <= 1;++l)9.for(m = 0;m <= 1;++m)10.printf(“%d%d%d%d%dn”, i, j, k, l, m);11.return 0;12.}3.字母图形问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
第十一届蓝桥杯真题及答案

第十一届蓝桥杯C++省赛B组真题和题解试题A:门牌制作题目【问题描述】小蓝要为一条街的住户制作门牌号。
这条街一共有2020位住户,门牌号从1到2020编号。
小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7,即需要1个字符0,2个字符1,1个字符7。
请问要制作所有的1到2020号门牌,总共需要多少个字符2?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
题解答案:624#include <cstdio>#include <algorithm>#include <cstring>#include <string>#include <queue>#include <stack>#include <set>#include <cmath>#include <iostream>using namespace std;const int INF = 1e9;int cnt;void cal(int x){while(x){if(x % 10 == 2) cnt++;x /= 10;}}int main(){for(int i = 1; i <= 2020; i++){ cal(i);}cout << cnt;return 0;}试题B:既约分数题目【问题描述】如果一个分数的分子和分母的最大公约数是1,这个分数称为既约分数。
例如,3/4,5/2,1/8,7/1都是既约分数。
请问,有多少个既约分数,分子和分母都是1到2020之间的整数(包括1和2020)?【答案提交】这是一道结果填空题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
蓝桥杯c-c++省赛试题及答案解析

2016蓝桥杯c-c++B组省赛试题及解析第一题煤球数目有一堆煤球,堆成三角棱锥形。
具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
答案:171700#include<stdio.h>int main(){int a[101] ={0};for(int i = 1 ; i < 101 ; i ++)a[i] = a[i-1] + i;int ans = 0;for(int j = 1 ; j < 101 ; j ++)ans += a[j];printf("%d\n",ans);return 0;}第二题生日蜡烛某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
答案:26#include<stdio.h>int main(){int start,end;for(start = 1 ; start < 236 ; start ++){for( end = start ; end < 236 ; end ++ ){int sum = 0;for(int i = start; i <= end; i ++)sum += i;if( sum == 236){printf("start : %d end : %d\n",start,end);}}}return 0;}第三题凑算式B DEFA + --- + ------- = 10C GHI(如果显示有问题,可以参见【图1.jpg】)这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
蓝桥杯 试题 辽工大 C语言 详细

简单数学问题时间限制1000MS (30000MS) 运行内存限制65536KByte总提交:800 测试通过:74描述对一个五位以内的正整数,要求:(1)判断它是一个几位数;(2)逆序输出其各位数字。
输入现有一组M个测试数据(M<100),然后有M个五位以内的的正整数输出每行依次输出该数的位数和逆序输出各位数字,各位数之间用逗号(注意是英文的逗号)隔开样例输入3564391234样例输出5,9,3,4,6,53,3,2,11,4提示题目来源【提交本题】【本题解答状况】【对本求转置矩阵问题时间限制1000MS (30000MS) 运行内存限制65536KByte总提交:322 测试通过:40描述求一个三行三列矩阵的转置矩阵。
输入第一行一个整数n<20,表示有n组测试数据,下面是n组数据;每组测试数据是九个整型数(每个数都不大于10000),分别为矩阵的的每项;输出每组测试数据的转置矩阵,每两个数之间有一个空格隔开;请在每组输出之后加一个换行样例输入21 2 3 4 5 6 7 8 92 3 4 5 6 7 8 9 1样例输出1 4 72 5 83 6 92 5 83 6 94 7 1提示注意,每行最后一个元素没有空格,直接换行。
题目来源【提交本题】【本题解答状况】【对本题提问】【返回】Dinner时间限制1000MS (30000MS) 运行内存限制65536KByte总提交:78 测试通过:18描述Little A is one member of ACM team. He had just won the gold in World Final. To celebrate, he decided to invite all to have o ne meal. As bowl, knife and other tableware is not enough in the kitchen, Little A goes to take backup tableware in warehouse. There are many boxes in warehouse, one box contains only one thing, and each box is marked by the name of things inside it. For example, if "basketball" is written on the box, which means the box contains only basketball. With these marks, Little A wants to find out the tableware easily. So, the problem for you is to help him, find out all the tableware from all boxes in the warehouse.输入There are many test cases. Each case contains one line, and one integer N at the first, N indicates that there are N boxes in the warehouse. Then N strings follow, each string is one name written on the box.输出For each test of the input, output all the name of tableware.样例输入3 basketball fork chopsticks2 bowl letter样例输出fork chopsticksbowl提示The tableware only contains: bowl, knife, fork and chopsticks.题目来源【提交本题】【本题解答状况】【对本题提问】【返回】You are my brother时间限制1000MS (30000MS) 运行内存限制65536KByte总提交:109 测试通过:12描述Little A gets to know a new friend, Little B, recently. One day, they realize that they are family 500 years ago. Now, Little A wants to know whether Little B is his elder, younger or brother.输入There are multiple test cases.For each test case, the first line has a single integer, n (n<=1000). The next n lines have two integers a and b (1<=a,b<=2000) each, indicating b is the father of a. One person has exactly one father, of course. Little A is numbered 1 and Little B is numbered 2.Proceed to the end of file.输出For each test case, if Little B is Little A’s younger, print “Y ou are my younger”. Otherwise, if Little B is Little A’s elder, print “Y ou are my elder”. Otherwise, print “Y ou are my brother”. The output for each test case occupied exactly one line.样例输入51 32 43 54 65 661 32 43 54 65 76 7样例输出You are my elderYou are my brother提示题目来源【提交本题】【本题解答状况】【对本题提问】【返回】Time时间限制1000MS (30000MS) 运行内存限制65536KByte总提交:88 测试通过:14描述Digital clock use 4 digits to express time, each digit is described by 3*3 characters (including”|”,”_”and” “).now given the current time, please tell us how can it be expressed by the digital clock.输入There are several test cases.Each case contains 4 integers in a line, separated by space.Proceed to the end of file.输出For each test case, output the time expressed by the digital clock such as Sample Output.样例输入1 2 5 62 3 4 2样例输出_ _ _| _||_ |_||_ _||_|_ _ __| _||_| _||_ _| ||_提示The digits showed by the digital clock are as follows:_ _ _ _ _ _ _ _| _| _||_||_ |_ ||_||_|| |||_ _| | _||_| ||_| _||_|题目来源辽宁2010省赛【提交本题】【本题解答状况】【对本题提问】【返回】Friends number时间限制1000MS (30000MS) 运行内存限制65536KByte总提交:26 测试通过:2描述Paula and Tai are couple. There are many stories between them. The day Paula left by airplane, Tai send one message to teleph one 2200284, then, everything is changing… (The story in “the snow queen”).After a long time, Tai tells Paula, the number 220 and 284 is a couple of friends number, as they are special, all divisors o f 220’s sum is 284, and all divisors of 284’s sum is 220. Can you find out there are how many couples of friends number less than 10,000. Then, how about 100,000, 200,000 and so on.The task for you is to find out there are how many couples of friends number in given closed interval [a,b]。
蓝桥杯试题

你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。
本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。
输入:
两个正整数,表示每种包装中糖的颗数(都不多于1000)
我们约定:
每个人从盒子中取出的球的数目必须是:1,3,7或者8个。
轮到某一方取球时不能弃权!
A先取球,然后双方交替取球,直到取完。
被迫拿到最后一个球的一方为负方(输方)
请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢?
程序运行时,从标准输入获得数据,其格式如下:
先是一个整数n(n<100),表示接下来有n个整数。然后是n个整数,每个占一行(整数<10000),表示初始球数。
185 152 135 106 123 173 122 136 174 191 145 116 151 143 175 120 161 134 162 190
149 138 142 146 199 126 165 156 153 193 144 166 170 121 171 132 101 194 187 188
程序则输出n行,表示A的输赢情况(输为0,赢为1)。
例如,用户输入:
4
1
2
10
18
则程序应该输出:
0
1
1
0
2、
在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了...
蓝桥杯c语言试题及答案

蓝桥杯c语言试题及答案蓝桥杯C语言试题及答案一、选择题(每题2分,共10分)1. 在C语言中,以下哪个是正确的字符常量?A. 'A'B. "A"C. 123D. 0x41答案:A2. 下面哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. _variableD. variable#name答案:C3. 以下哪个语句可以正确地声明一个整型数组?A. int array[10] = {0, 0, ...};B. int array[] = {0, 1, 2, ...};C. int array = {0, 1, 2, ...};D. int array[10] = {0};答案:D4. C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello" "World"答案:A5. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D二、填空题(每空2分,共10分)6. 在C语言中,表示逻辑与的运算符是______。
答案:&&7. 一个C语言程序的执行是从______函数开始的。
答案:main8. 在C语言中,用于定义一个结构体的关键字是______。
答案:struct9. 以下代码段的输出结果是______。
```cint a = 5, b = 10;printf("%d", b % a);```答案:010. 当一个C语言程序中包含多个文件时,通常使用______预处理指令来包含头文件。
答案:#include三、简答题(每题5分,共10分)11. 请简述C语言中指针的概念。
C语言的蓝桥杯习题及解析1
输入一个正整数n,输出n!的值。
其中n!=1*2*3*…*n。
算法描述n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。
使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。
将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。
首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。
输入格式输入包含一个正整数n,n<=1000。
输出格式输出n!的准确值。
样例输入10样例输出3628800*/#include<stdio.h>#include<string.h>#define MAX 3000int main(){int a[MAX],i,j,n;int c=0; //进位int s;memset(a,0,sizeof(a));scanf("%d",&n);a[0]=1;for(i=2;i<=n;i++) //乘数{for(j=0;j<MAX;j++){s=a[j]*i+c;a[j]=s%10;c=s/10;}}for(i=MAX-1;i>=0;i--) //从第一个不为零的开始break;for(j=i;j>=0;j--){printf("%d",a[j]);}return 0;}BASIC-29 高精度加法/*问题描述输入两个整数a和b,输出这两个整数的和。
a和b都不超过100位。
算法描述由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。
对于这种问题,一般使用数组来处理。
定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。
同样可以用一个数组B来存储b。
计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数)存入r,把和的个位数存入C[0],即C[0]等于(A[0]+B[0])%10。
第八届蓝桥杯a组试题及答案
第八届蓝桥杯a组试题及答案第八届蓝桥杯A组试题及答案一、选择题(每题5分,共50分)1. 下列哪个选项不是C++的特性?A. 多态性B. 封装性C. 继承性D. 全局变量答案:D2. 在HTML中,用于定义最重要的标题的标签是:A. <h1>B. <h2>C. <h3>D. <h4>答案:A3. SQL语句中用于创建数据库的命令是:A. CREATE TABLEB. CREATE DATABASEC. DROP DATABASED. ALTER DATABASE答案:B4. 在JavaScript中,用于声明变量的关键字是:A. varB. letC. constD. All of the above答案:D5. 下列哪个选项是Python的内置数据类型?A. ListB. TupleC. DictionaryD. All of the above答案:D6. 在Java中,用于捕获异常的关键字是:A. tryB. catchC. finallyD. throw答案:B7. 在CSS中,用于设置文本颜色的属性是:A. colorB. font-colorC. text-colorD. none of the above答案:A8. 下列哪个选项不是Linux操作系统的发行版?A. UbuntuB. CentOSC. WindowsD. Fedora答案:C9. 在Python中,用于执行列表推导的语法是:A. [x for x in iterable if condition]B. {x for x in iterable if condition}C. (x for x in iterable if condition)D. All of the above答案:A10. 在HTML5中,用于定义文档元数据的标签是:A. <meta>B. <header>C. <footer>D. <section>答案:A二、填空题(每题5分,共30分)1. 在C语言中,用于定义一个结构体的关键字是________。
蓝桥杯第六届C语言真题汇总完整版
蓝桥杯第六届C语言真题汇总完整版蓝桥杯第六届C语言真题汇总HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】1、奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。
某抽奖活动的奖券号码是5位数(),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
请提交该数字(一个整数),不要写任何多余的内容或说明性文字。
2、星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。
请填写该日期,格式为yyyy-mm-dd 即4位年份2位月份2位日期。
比如:2015-02-19 请严格按照格式书写。
不能出现其它文字或符号。
if(year%4==0||(year%100==0&&year%400!=0)) 3、三羊献瑞观察下面的加法算式:祥瑞生辉+ 三羊献瑞-------------------三羊生瑞气(如果有对齐问题,可以参看【图】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
4、格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。
要求字符串在水平、垂直两个方向上都居中。
如果字符串太长,就截断。
如果不能恰好居中,可以稍稍偏左或者偏上一点。
下面的程序实现这个逻辑,请填写划线部分缺少的代码。
#include <>#include <>void StringInGrid(int width, int height, const char* s){int i,k;char buf[1000];strcpy(buf, s);if(strlen(s)>width-2) buf[width-2]=0;printf("+");for(i=0;i<="">printf("+\n");for(k=1; k<(height-1)/2;k++){printf("|");for(i=0;iprintf("|\n");}printf("|");printf("%*s%s%*s",_____________________________________________); .9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。
第三届蓝桥杯——蓝桥杯c语言本科组(带答案)
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把ABCDE所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!
3.
有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复......直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。
#include <cstdio>
int main()
{
long int X=10, Y=90;
for(int k=1; k<=120; k++)//半分钟一个单位
{
if(k%2==1) Y -= X;//因为X出生半分钟后就要吃Y,尔后没1分钟要吃Y,所以永远都是奇数个半分钟的时候吃Y,又因为此时X不会增长(题目为了减小讨论的复杂度),所以直接减X数量即可。
14 10 6 2
15 11 7 3
16 12 8 4
下面的代码实现的功能就是要把一个方阵顺时针旋转。
void rotate(int* x, int rank)
{
int* y = (int*)malloc(___________________); //填空
for(int i=0; i<rank * rank; i++)
{
GoNext(x,r,c);
return;
}
int rr = GetRowStoneNum(x,r);
int cc = GetColStoneNum(x,c);
if(cc>=3) //本列已满
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、亲密数:假设有a、b两个数,若a的所有因子之和等于b,b的所有因子之和等于a,并且a不等于b,则称a和b是一对亲密数。
如284和220就是一对亲密数。
#include<stdio.h>int main(){int a,b,i,n;for(a=1;a<=10000;a++){for(b=0,i=1;i<=a/2;i++)if(a%i==0)b+=i;for(n=0,i=1;i<=b/2;i++)if(b%i==0)n+=i;if(n==a&&a!=b&&a<b)printf("%d-%d\n",a,b);}return0;}2、世纪末的星期:曾有邪教称1999年12月31日是世界末日。
当然该谣言已经不攻自破。
还有人称今后的某个世纪末的12月31日䊵如果是星期一则会....有趣的是任何一个世纪末的年份的12月31日都不可能是星期一!!于是“谣言制造商”又修改为星期日......1999年的12月31日是星期五,请问,未来哪一个离我们最近的一个世纪末年即xx99年的12月31日正好是星期天,即星期日请回答该年份,只写这个4位整数,不要写12月31等多余信息#include<stdio.h>int main(){long days=5;/*1999年的最后一天为周5,把下一年加上5天对7取余为0的,则是周日*/int i=2000;for(;;)/*无循环终止条件,可以利用break语句终止循环*/{if(i%4==0&&i%100!=0||i%400==0){days=days%7+366;}else{days=days%7+365;}if(days%7==0&&i%100==99){printf("%d",i);break;}i++;}return0;}3、马虎的算式:小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。
有一次蕌老师出的题目是36x495=?他却给抄成了396x45=?但结果却很戏剧性蕌他的答案竟然是对的因为36*495=396*45=17820类似这样的巧合情况可能还有很多,比如䊵27*594=297*54假设a b c d e代表1~9不同的5个数字,注意是各不相同的数字且不含0能满足形如:ab*cde=adb*ce这样的算式一共有多少种呢请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。
答案直接通过浏览器提交。
注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。
#include<stdio.h>int main(){int n,m,i=0;for(int a=1;a<10;a++){for(int b=1;b<10;b++){for(int c=1;c<10;c++){for(int d=1;d<10;d++){for(int e=1;e<10;e++){n=(a*10+b)*(c*100+d*10+e);m=(a*100+d*10+b)*(c*10+e);if(n==m&&a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e)i++;}}}}}printf("%d",i);return0;}一、啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。
小明买了若干啤酒和饮料,一共花了82.3元。
我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。
注意:答案是一个整数。
请通过浏览器提交答案。
不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。
#include<stdio.h>int main(){int i,j;for(i=1;i<36;i++){for(j=1;j<44;j++){if((i*2.3+j*1.9==82.3)&&(i<j))printf("%d%d\n",i,j);}}return0;}二、高斯日记大数学家高斯有个好习惯:无论如何都要记日记。
他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。
这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。
在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。
高斯获得博士学位的那天日记上标着:8113请你算出高斯获得博士学位的年月日。
提交答案的格式是:1799-07-16,例如:1980-03-21请严格按照格式,通过浏览器提交答案。
注意:只提交这个日期,不要写其它附加内容,比如:说明性的文字。
#include<stdio.h>int main(){int year=1777,month=4,day=30;int a[]={0,31,28,31,30,31,30,31,31,30,31,30,31};for(int i=1;i<8113;i++){if(2==month&&year%4==0&&year%100!=0||year%400==0)a[2]=29;elsea[2]=28;day=day%a[month]+1;if(day==1){month=month%12+1;if(month==1)year++;}}printf("%d-%d-%d",year,month,day);return0;}三、排它平方数小明正看着203879这个数字发呆。
原来,203879*203879=41566646641这有什么神奇呢?仔细观察,203879是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。
具有这样特点的6位数还有一个,请你找出它!再归纳一下筛选要求:1.6位正整数2.每个数位上的数字不同3.其平方数的每个数位不含原数字的任何组成数位答案是一个6位的正整数。
请通过浏览器提交答案。
注意:只提交另一6位数,题中已经给出的这个不要提交。
注意:不要书写其它的内容(比如:说明性的文字)。
#include<stdio.h>#include<string.h>int judge(int n){int num=n;int vis[10];memset(vis,0,sizeof(vis));/*#include<string.h>常用于数组的初始化,将它的所有元素初始化为0memset(f数组名,0要赋予的值,sizeof(f)数组元素个数)*/ while(num){int tmp=num%10;num/=10;if(vis[tmp])return0;vis[tmp]=1;}long long n1=(long long)n*n;while(n1){int tmp=n1%10;n1/=10;if(vis[tmp])return0;}return1;}int main(){int i;for(i=123456;i<=987654;i++){if(judge(i)){printf("%d\n",i);}}return0;}五、换分币用一元人民币兑换成1分、2分和5分硬币,共有多少种不同的兑换方法。
#include<stdio.h>int main(){int a,b,c,i=0;for(a=1;a<=100;a++){for(b=0;b<=50;b++){for(c=1;c<=20;c++){if(a*1+b*2+c*5==100)i++;}}}printf("%d",i);getch();return0;}(待看)标题:三部排序一般的排序有许多经典算法,如快速排序、希尔排序等。
但实际应用时,经常会或多或少有一些特殊的要求。
我们没必要套用那些经典算法,可以根据实际情况建立好的解法。
比如,对一个整型数组中的数字进行分类排序:使得负数都靠左端,正数都靠右端,0在中部。
注意问题的特点是:负数区域和正数区域内并不要求有序。
可以利用这个特点通过1次线性扫描就结束战斗!!以下的程序实现了该目标。
其中x指向待排序的整型数组,len是数组的长度。
#include<stdio.h>void sort3p(int*x,int len){int p=0;int left=0;int right=len-1;while(p<=right){if(x[p]<0){int t=x[left];x[left]=x[p];x[p]=t;left++;p++;}else if(x[p]>0){int t=x[right];x[right]=x[p];x[p]=t;right--;}elsep++;/*填空*/}}int main(int argc,char*argv[]){int a[]={25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0};sort3p(a,14);for(int i=0;i<14;i++)printf("%d",a[i]);printf("\n");return0;}七、古堡算式福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE*?=EDCBA他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把ABCDE所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!#include<stdio.h>int main(){int i;for(i=10000;i<100000;i++){int a=i/10000;int b=i%10000/1000;int c=i%10000%1000/100;int d=i%10000%1000%100/10;int e=i%10;if(a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e){continue;}int y=e*10000+d*1000+c*100+b*10+a;if(y%i==0){printf("%d*%d=%d",i,y/i,y);}}}。