编写一个成序,小程序声明变量中首先声明日期(年,月,日)

热门搜索:
您现在的位置是: &
> 编写一个程序模拟支票输出.程序要求用户输入日期,姓名和
支票的数量,然后模拟支票的形式输出如下信息,例如:
姓名:张三 RMB19
编写一个程序模拟支票输出.程序要求用户输入日期,姓名和
支票的数量,然后模拟支票的形式输出如下信息,例如:
姓名:张三 RMB19
资 源 简 介
编写一个程序模拟支票输出.程序要求用户输入日期,姓名和
支票的数量,然后模拟支票的形式输出如下信息,例如:
姓名:张三 RMB1920.68
人民币:壹仟玖佰贰拾元陆角捌分
注意:假设输入的金额中,最多自由两位小数.
输入有效性检验:输入金额的数量不能大于RMB10000.
VIP 专区(每个包含40-100个资源包)
您 可 能 感 兴 趣 的
相 关 代 码
相 关 资 源
该 用 户 还 上 传
月度VIP会员
月度VIP会员
月度VIP会员
月度VIP会员
月度VIP会员
月度VIP会员
月度VIP会员
月度VIP会员
月度VIP会员
半年VIP会员编写程序:输入一个日期(年、月、日),判断日期是否合法。怎么写?求代码?_百度知道
编写程序:输入一个日期(年、月、日),判断日期是否合法。怎么写?求代码?
我有更好的答案
printf(1);
else if(y==2)
i=2; scanf(&%d;日期合法\n&quot:printf(0);
printf(0);n&:
printf(0);
printf(1),y;
printf(1);
printf(1);
case 1; if(x%400==0||(x%4==0&&x%100!=0)) {
if(y==1||y==3||y==5||y==7||y==8||y==10||y==12)
i=1,&z);),直接考到VC++里面运行即可运行后输入3个整数,%d,%d&#92#include &quot,&x,&y,分别代表年月日;
else if(y==4||y==6||y==9||y==11)
printf(0);
} }}帮你编好了:
printf(0);
printf(1);
case 2; else
printf(&quot.h&void printf(int a){ if(a==1)
printf(&quot,i:
printf(0):
printf(0);
default: printf(0);
else if(y==2)
printf(0);
printf(1);日期非法\n&);
else if(y==4||y==6||y==9||y==11)
i=3,z;}void main(){ void printf(int a); int x: printf(0);
} } else {
if(y==1||y==3||y==5||y==7||y==8||y==10||y==12)
采纳率:35%
你用的是什么数据库啊?
就用c语言变一下程序
首先我得知道你要用什么数据库啊?DB2,ORACLE,sql server都不一样的啊?要不你把源程序我看看
不用数据库的,就简单一个程序编出来就行,题目是编写程序:输入一个日期(年、月、日),判断这一日期是否合法。然后再用白盒覆盖方法设计测试用例并上机执行测试,找出程序缺陷。------软件测试题
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。北京理工大学2013级C程序设计非信息类答案part1_甜梦文库
北京理工大学2013级C程序设计非信息类答案part1
北京理工大学 2013 级 C 程序设计非信息类答案 Part 11. 【入门】Hello world. 成绩 5 开启时间 2014 年 03 月 3 日 星期一 08:00折扣0.8折扣时间2014 年 03 月 18 日 星期二 23:55允许迟交否关闭时间2014 年 03 月 18 日 星期二 23:55让我们用 C 语言向世界问好。 最早的程序基本是这个样子的: #include &stdio.h& int main() { printf(&Hello world.\n&); return 0; } 请模仿上面的程序,看看是否可以通过编译?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。 输入:无 输出:Hello world.测试输入期待的输出时间限制内存限制额外进程测试用例 1 1. 2.1.?1.Hello world.?1秒64M0#include &stdio.h& int main(){printf(&Hello world.\n&); return 0;}2. 【入门】输出你的第一个图形 成绩 5 开启时间 2014 年 02 月 25 日 星期二 14:00折扣0.8折扣时间2014 年 03 月 18 日 星期二 23:55允许迟交否关闭时间2014 年 03 月 18 日 星期二 23:55背景:我们已经学习了 printf 函数的基本使用方法,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成 的 4*4 的正方形。 程序如下: #include &stdio.h& int main() { printf(&****\n&); printf(&****\n&); printf(&****\n&); printf(&****\n&); return 0; } 要求:按照上面的程序范例,编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。 输入:无。 输出:指定图形。测试输入期待的输出时间限制内存限制额外进程测试用例 11.? 1. 2. 3.*? ***? *****? *******?1秒64M01. 2. 3. 4. 5. 6. 7.#include &stdio.h& int main() { printf(& *\n&); printf(& ***\n&); printf(& *****\n&); printf(&*******\n&); return 0;}3. 【入门】求 A+B 成绩 5 开启时间 2014 年 02 月 3 日 星期一 14:00折扣0.8折扣时间2014 年 03 月 18 日 星期二 23:55允许迟交否关闭时间2014 年 03 月 18 日 星期二 23:55我们已经学了如何使用 scanf 函数中输入整型数据(%d),下面让我们使用 scanf 函数来输入两个整数,然后求它们的 和。 输入: 整数 1 整数 2 输出: 整数 1+整数 2=和 测试输入期待的输出时间限制内存限制额外进程测试用例 1 1. 2. 10? 20?1.10+20=30?1秒64M0测试用例 2 1. 2. -10? 10?1.-10+10=0?1秒64M0测试用例 3 1. 2. 3. 4.1.300 200?1.300+200=500?1秒64M0#include &stdio.h& int main() { int a,b; scanf(&%d&,&a); scanf(&%d&,&b); printf(&%d+%d=%d\n&,a,b,a+b);return 0;}4. 【入门】求整数的 3 次方 成绩 5 开启时间 2014 年 02 月 25 日 星期二 14:00折扣0.8折扣时间2014 年 03 月 18 日 星期二 23:55允许迟交否关闭时间2014 年 03 月 18 日 星期二 23:55输入一个整数 x,输出 x 的 3 次方。想一想,在 C 语言中如何用公式来表达 x 的 3 次方? 输入:一个整数。 输出:该整数的 3 次方值。测试输入期待的输出时间限制内存限制额外进程测试用例 11.3?1.27?1秒64M0测试用例 2 1. 2.1.-3?1.-27?1秒64M0#include &stdio.h& int main(){scanf(&%d&,&x);printf(&%d\n&,x*x*x);return 0;}5. 【入门】输出字符的 ASCII 码 成绩5开启时间2014 年 02 月 25 日 星期二 14:00折扣0.8折扣时间2014 年 03 月 18 日 星期二 23:55允许迟交否关闭时间2014 年 03 月 18 日 星期二 23:55背景:我们在计算机基础中已经学过:字母在计算机中采用 ASCII 码进行存储。下面要从键盘上输入任意一个字符,然后 输出该字符对应的 ASCII 码。 输入:一个字符 输出: 该字符对应的 ASCII 码说明:如果编程有问题,请先看看教材 P51 的例题 3-4,然后再办法发挥一下……测试输入期待的输出时间限制内存限制额外进程测试用例 11.A?1.The ASCII of character 'A' is 65.?1秒64M0测试用例 21.Z?1.The ASCII of character 'Z' is 90.?1秒64M0测试用例 31.0?1.The ASCII of character '0' is 48.?1秒64M0测试用例 41.1?1.The ASCII of character '1' is 49.?1秒64M0测试用例 5 1. 2. 3. 4.1.+?1.The ASCII of character '+' is 43.?无限制64M0#include &stdio.h& int main(){scanf(&%c&,&a); printf(&The ASCII of character '%c' is %d.\n&,a,a); return 0;}6. 【入门】大小写字母转换 成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣0.8折扣时间2014 年 04 月 4 日 星期五 23:55允许迟交否关闭时间2014 年 04 月 6 日 星期日 23:55我们知道,英文字母是分大小写的,下面我们需要编写一个简单的程序,将输入的全部小写字母变换为大写字母,大写字 母变换为小写字母,非写字母保持不变。 输入: 一个字符 输出: 变换后的字符 测试输入期待的输出时间限制内存限制额外进程测试用例 11.A?1.a?1秒64M0测试用例 21.Z?1.z?1秒64M0测试用例 31.b?1.B?1秒64M0测试用例 41.y?1.Y?1秒64M0测试用例 5 1. 2. 3. 4. 5. 6. 7.1.#?1.#?无限制64M0#include &stdio.h& int main() {char x,y;scanf(&%c&,&x); if(x&=65&&x&=90) y=x+32; else if(x&=97&&x&=122) y=x-32; else y=x; printf(&%c\n&,y);return 0;}7. 【小学】一年级的算术题 成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣0.8折扣时间2014 年 04 月 4 日 星期五 23:55允许迟交否关闭时间2014 年 04 月 6 日 星期日 23:55背景: 小明上小学一年级了,老师已经教会了他们整数的+、-、*、/、%计算,下面老师开始出题,请小明给出计算结果。 输入: 输出: 两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 分别输出按照整型数据进行 +、-、*、/、* 之后的运行结果。测试输入期待的输出时间限制内存限制额外进程测试用例 11.10 3? 1. 2. 10+3=13? 10-3=7?1秒64M0 测试输入期待的输出时间限制内存限制额外进程3. 4. 5. 1. 2. 3. 4. 5. 6. 7. #include &stdio.h& int main(){int a,b;scanf(&%d%d&,&a,&b); printf(&%d+%d=%d\n&,a,b,a+b); printf(&%d-%d=%d\n&,a,b,a-b); printf(&%d*%d=%d\n&,a,b,a*b); printf(&%d/%d=%d\n&,a,b,a/b); printf(&%d%%%d=%d\n&,a,b,a%b);return 0;}10*3=30? 10/3=3? 10%3=1?8. 【中学】判断三角形的形状 成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣0.8折扣时间2014 年 04 月 4 日 星期五 23:55允许迟交否关闭时间2014 年 04 月 6 日 星期日 23:55小明上了初中,开始学习如何求解一元二次方程。 要求:输入三角型的三条边,判断三角形的形状。假设输入的三边边长均&0。(提示:本题中应该要用到 if 语句嵌套) 输入:三角型的 3 条边的长度(int 型)。 输出:等边三角形:equilateral triangle. 等腰三角形:isoceles triangle. 不构成三角形:non-triangle. 一般三角形:triangle.测试输入期待的输出时间限制内存限制额外进程测试用例 11.2 2 2?1.equilateral triangle.?1秒64M0测试用例 21.3 2 2?1.isoceles triangle.?1秒64M0测试用例 31.1 3 1?1.non-triangle.?1秒64M0测试用例 4 1. 2. 3.1.3 4 5?1.triangle.?1秒64M0#include&stdio.h& int main(){int a,b,c;scanf(&%d%d%d&,&a,&b,&c); if(a+b&=c||a+c&=b||b+c&=a) printf(&non-triangle.\n&); 4. 5. 6. 7.else if(a==b&&b==c) printf(&equilateral triangle.\n&); else if(a==b&&b!=c||a==c&&c!=b||b==c&&c!=a) printf(&isoceles triangle.\n&) ; else printf(&triangle.\n&); return 0;}9. 【中学】计算时钟的夹角 成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣0.8折扣时间2014 年 04 月 6 日 星期日 23:55允许迟交是关闭时间2014 年 04 月 11 日 星期五 23:55背景: 钟面上的时针和分针之间的夹角总是在 0 ~180 之间 ( 包括 0 和 180 ) 。举例来说,在十二点的时候两针之间 的夹角为 0 ,而在六点的时候夹角为 180 ,在三点的时候为 90 。本题要解决的是计算 12:00 到 11:59 之间任意一个时 间的夹角。 输入: 每组测试数据包含两个数字:第一个数字代表小时 ( 大于 0 小于等于 12) ,第二个数字代表分 ( 在区间 [0, 59] 上 ) 。 输出: 对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。输出格 式如下所示。 再看一看,想一想:是否可以不用 if 语句,只使用 printf 函数来简化你的程序?测试输入期待的输出时间限制内存限制额外进程测试用例 11.12 0?1.At 12:00 the angle is 0.0 degrees.?1秒64M0测试用例 21.12 30?1.At 12:30 the angle is 165.0 degrees.?1秒64M0测试用例 31.6 0?1.At 6:00 the angle is 180.0 degrees.?1秒64M0测试用例 41.3 0?1.At 3:00 the angle is 90.0 degrees.?1秒64M0测试用例 51.3 3?1.At 3:03 the angle is 73.5 degrees.?1秒64M0测试用例 61.3 9?1.At 3:09 the angle is 40.5 degrees.?1秒64M0测试用例 71.4 0?1.At 4:00 the angle is 120.0 degrees.?1秒64M0 测试输入期待的输出时间限制内存限制额外进程测试用例 81.5 59?1.At 5:59 the angle is 174.5 degrees.?1秒64M0测试用例 91.4 20?1.At 4:20 the angle is 10.0 degrees.?1秒64M0测试用例 10 1. 2. 3. 4. 5. 6.1.0 0?1.At 0:00 the angle is 0.0 degrees.?1秒64M0#include&stdio.h& #include&math.h& main(){int x,y; scanf(&%d%d&,&x,&y); z=fabs(30*x-(float)y*11/2); z=z&180?360-z:z; if(y&10) printf(&At %d:0%d the angle is %.1f degrees.\n&,x,y,z); else printf(&At %d:%d the angle is %.1f degrees.\n&,x,y,z);}10.【日期】根据日期求星期 成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣0.8折扣时间2014 年 04 月 6 日 星期日 23:55允许迟交否关闭时间2014 年 04 月 11 日 星期五 23:55任意给出一个年月日,求出是星期几。 输入: 年 月 日 输出: 0~6。 星期日用 0 表示,星期一用 1 表示,星期二用 2 表示......星期六用 6 表示。 假设年份大于 1900。先想一想:我们现在只会使用 if 语句,该如何建立数学模型?找到数学模型是解决本题的关键。 看了部分先完成同学提交的程序,有人居然使用数组了,这个太不应该,因为我们根本就没有讲数组,让我怀疑使用数组 的程序是抄的。测试输入期待的输出时间限制内存限制额外进程测试用例 11.?1.1?1秒64M0测试用例 21.?1.5?1秒64M0测试用例 3 1. 2. 3.1.?1.0?1秒64M0#include &stdio.h& int main() {int year,month,day,ty,m,y,c,d, scanf(&%d%d%d&,&year,&month,&day); 4. 5. 6.ty=m=if(m&3){m=12+m;ty--;} y=ty%100;c=ty/100;d= weeks=(y+y/4+c/4-2*c+26*(m+1)/10+d-1)%7;printf(&%d\n&,weeks);}11.【中学】求解一元二次方程 成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣0.8折扣时间2014 年 04 月 11 日 星期五 23:55允许迟交是关闭时间2014 年 04 月 11 日 星期五 23:55初中的小明已经开始学习求解一元二次方程了,下面让我们来教计算机如何求解。输入 a,b,c ,求一元二次方程 ax? +bx+c=0 的根。 输入:假设 a,b,c 均 int。 输出:要求输出的根为 double 型,保留 6 位小数。说明:如果不会作,请参考教材 P108 的例 5-17测试输入期待的输出时间限制内存限制额外进程测试用例 11.0 0 0?1.Input error!?1秒64M0测试用例 21.0 0 10?1.Input error!?1秒64M0测试用例 31.0 10 0?1.x=0.000000?1秒64M0测试用例 51.10 0 0?1.x1=x2=0.000000?1秒64M0测试用例 61.10 20 0? 1. 2. x1=0.000000? x2=-2.000000?1秒64M0测试用例 81.10 0 20? 1. 2. x1=1.414214i? x2=-1.414214i?1秒64M0测试用例 91.1 2 1?1.x1=x2=-1.000000?1秒64M0 测试输入期待的输出时间限制内存限制额外进程测试用例 101.1 2 -1? 1. 2. x1=0.414214? x2=-2.414214?1秒64M0测试用例 111.2 2 2? 1. 2. x1=-0..866025i? x2=-0..866025i?1秒64M01. 2. 3. 4. 5. 6. 7. 8. 9.#include&stdio.h& #include &math.h& void main(){double a,b,c,d; scanf(&%lf%lf%lf&,&a,&b,&c); d=b*b-4*a*c;if(a==0&&b==0) printf(&Input error!\n&); else if(a==0) printf(&x=%lf\n&,c==0?0:-c/b); else if(d==0) printf(&x1=x2=%.6lf\n&,b==0?0:-b/(2*a)); else if(d&0) printf(&x1=%lf\nx2=%lf\n&,(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)); else if(b==0) printf(&x1=%lfi\nx2=-%lfi\n&,sqrt(-d)/(2*a),sqrt(-d)/(2*a)); else printf(&x1=%lf+%lfi\nx2=%lf-%lfi\n&,-b/(2*a),sqrt(-d)/(2*a),-b/(2*a),sqrt(-d)/(2*a));}12.【中学】找出最大素数 成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣0.8折扣时间2014 年 04 月 11 日 星期五 23:55允许迟交否关闭时间2014 年 04 月 11 日 星期五 23:55小明在中学学习了什么是素数。素数是指一个只能被 1 和它本身整除的数,在数论中占有重要的研究地位,在当代密码学 中也被广泛应用。 输入: 取值范围 输出: 该范围内的最大素数测试输入期待的输出时间限制内存限制额外进程测试用例 1 1. 2. 3. 4. 5.1.100?1.The max prime number is 97.?1秒64M0#include&stdio.h& #include&math.h& int IsPrime(int n) { for(i=2;i&=sqrt(n);i++) if(n%i==0) return(0); 6. 7. 8. 9. 10.return(1);} void main() {scanf(&%d&,&n); for(;;n--) if(IsPrime(n)) printf(&The max prime number is %d.\n&,n);}13.【小学】再做一年级算术题 成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣0.8折扣时间2014 年 04 月 11 日 星期五 23:55允许迟交否关闭时间2014 年 04 月 11 日 星期五 23:55小明上小学一年级了,老师已经教会了他们进行整数的 +、-、*、/ 、% 计算,下面老师开始出题,给出一个简单的 算术表达式,请小明给出计算结果,请你用 switch 语句编写一个程序,帮小明算出结果。 输入: 操作数 1 op 操作数 2 输出: 计算结果 提示: 关键是在表达式输入过程中如何取出运算符?测试输入期待的输出时间限制内存限制额外进程测试用例 11.10+20?1.30?1秒64M0测试用例 21.30-20?1.10?1秒64M0测试用例 31.8*11?1.88?1秒64M0测试用例 4 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.1.13/5?1.2?1秒64M0#include &stdio.h& main() {int a,b,c; scanf(&%d%c%d&,&a,&op,&b); switch(op) {case'+':c=a+b;printf(&%d\n&,c); case'-':c=a-b;printf(&%d\n&,c); case'*':c=a*b;printf(&%d\n&,c); case'/':c=a/b;printf(&%d\n&,c); case'%':c=a%b;printf(&%d\n&,c);} return 0;}14.【日期】确定母亲节 成绩5开启时间2014 年 03 月 8 日 星期六 08:00折扣0.8折扣时间2014 年 04 月 11 日 星期五 23:55允许迟交是关闭时间2014 年 04 月 11 日 星期五 23:55母亲节是每年的五月第二个星期天,针对输入的年份,计算该年的哪一天是母亲节。 输入: 年份 输出: 日期(5 月的哪一天)测试输入期待的输出时间限制内存限制额外进程测试用例 11.2014?1.11?1秒64M0测试用例 21.2015?1.10?1秒64M0测试用例 3 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.1.2012?1.13?1秒64M0#include &stdio.h& int main() {int a,b,n;scanf(&%d&,&a); b=(a-1720)%28; switch(b) {case 0:n=14;case 1:n=13;case 2:n=12;case 3:n=11; case 4:n=9;case 5:n=8;case 6:n=14;case 7:n=13; case 8:n=11;case 9:n=10;case 10:n=9;case 11:n=8; case 12:n=13;case 13:n=12;case 14:n=11;case 15:n=10; case 16:n=8;case 17:n=14;case 18:n=13;case 19:n=12; case 20:n=10;case 21:n=9;case 22:n=8;case 23:n=14; case 24:n=12;case 25:n=11;case 26:n=10;case 27:n=9;} printf(&%d\n&,n);return 0;}15.【图形】输出一行星号 成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣0.8折扣时间2014 年 04 月 11 日 星期五 23:55允许迟交否关闭时间2014 年 04 月 11 日 星期五 23:55 输出: 一行中 N 个星号。现在要用最简单得办法,在一行中输出 N 个星号。 输入:N 值 测试输入期待的输出时间限制内存限制额外进程测试用例 11.4?1.****?1秒64M0测试用例 21.8?1.********?1秒64M0测试用例 31.1?1.*?1秒64M0测试用例 4 1. 2. 3.1.0?1.?1秒64M0#include&stdio.h& int main(){int i,n; scanf(&%d&,&n); for(i=1;i&=n;i++) printf(&*&); printf(&\n&);}16.【日期】再算星期 成绩 5 开启时间 2014 年 03 月 24 日 星期一 08:00折扣0.8折扣时间2014 年 04 月 13 日 星期日 23:55允许迟交是关闭时间2014 年 04 月 20 日 星期日 23:55再次给出任意一个年月日(年&1900),现在我们不能只是直接计算,要先判断给出的日期是否合法,对于非法的日期要 给出错误提示信息,合法的日期要再计算是星期几。 输入: 年 月 日 输出: 0~6。 星期日用 0 表示,星期一用 1 表示,星期二用 2 表示......星期六用 6 表示。 假设年份大于 1900。先想一想:我们现在只会使用 if 语句,该如何建立数学模型?测试输入期待的输出时间限制内存限制额外进程测试用例 11.?1.1?1秒64M0测试用例 21.?1.month is error.?1秒64M0测试用例 3 1. 2. 3.1.?1.day is error.?1秒64M0#include&stdio.h& #include&math.h& int main() 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.{int a,w,y,m,d,t=0,s=1;scanf(&%d%d%d&,&y,&m,&d); if(y&1900) {printf(&year is error.\n&);s=0;} else {switch(m) { case 1:t=31;case 2:t=28;case 3:t=31;case 4:t=30; case 5:t=31;case 6:t=30;case 7:t=31;case 8:t=31; case 9:t=30;case 10:t=31;case 11:t=30;case 12:t=31; default:{printf(&month is error.\n&);s=0;}} if(m==2) if((y%4==0&&y%100!=0)||(y%400==0)) t=29; if(s==1&&(d&1||d&t)) {printf(&day is error.\n&);s=0;}} if(s==1) {a=y/100+1; if(m&=2) {m=m+12;y=y-1;} w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1; if(w==7) w=0; printf(&%d\n&,w);} return 0;}17.【中学】贪吃的猴子 成绩 5 开启时间 2014 年 03 月 24 日 星期一 14:00折扣0.8折扣时间2014 年 04 月 13 日 星期日 23:55允许迟交否关闭时间2014 年 04 月 20 日 星期日 23:55有一只猴子,第一天摘了若干个桃子 ,当即吃了一半,但还觉得不过瘾 ,就又多吃了一个。第 2 天早上又将剩下的桃子 吃掉一半,还是觉得不过瘾,就又多吃了两个。以后每天早上都吃了前一天剩下的一半加天数个(例如,第 5 天吃了前一 天剩下的一般加 5 个)。到第 n 天早上再想吃的时候,就只剩下一个桃子了。 输入: 天数 n 输出: 第一天的桃子个数 提述:要先建立递推公式。测试输入期待的输出时间限制内存限制额外进程测试用例 1 1. 2. 3. 4. 5. 6.1.3?1.The monkey got 14 peaches in first day.?1秒64M0#include &stdio.h& main(){int n,i,y; scanf(&%d&,&n); for(i=n-1,y=1;i&=1;i--) y=2*(i+y); if(y==1)printf(&The monkey got %d peach in first day.\n&,y); if(y!=1)printf(&The monkey got %d peaches in first day.\n&,y); return 0;}18.【小学】三做一年级算术题 成绩 5 开启时间 2014 年 03 月 24 日 星期一 14:00 折扣0.8折扣时间2014 年 04 月 13 日 星期日 23:55允许迟交否关闭时间2014 年 04 月 20 日 星期日 23:55两个一年级小朋友在一起玩游戏,小明给出一堆一位的正整数和运算要求(+、-、*、/、%),小丽要找出这些整数中 的最大值和最小值,然后按照小明的要求算出最大数与最小数进行算术运算的结果。 输入: 用逗号分隔的一位正整数序列,及其运算符和等号 输出: 最大数 op 最小数=结果测试输入期待的输出时间限制内存限制额外进程测试用例 11.5,1,1,2,0,3,+,=?1.5+0=5?1秒64M0测试用例 21.1,5,2,0,/,=?1.Error!?1秒64M0测试用例 3 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.1.1,7,2,2,5,3,/,=?1.7/1=7?1秒64M0#include&stdio.h& int main() {int i,a,max=0,min=100,s; char l[100]={0}, gets(l); for(i=0;;i=i+2) {if(l[i]=='=') else {if(l[i]==43||l[i]==45||l[i]==42||l[i]==37||l[i]==47) op=l[i]; else {if(l[i+2]==44) {a=(l[i]-48)*10+l[i+1]-48;i++;} else a=l[i]-48; if(a&=max) {max=a;} if(a&=min) {min=a;} }}} switch(op) {case 43:s=max+printf(&%d+%d=%d\n&,max,min,s); case 45:s=max-printf(&%d-%d=%d\n&,max,min,s); case 42:s=max*printf(&%d*%d=%d\n&,max,min,s); case 37:{if(min==0) {printf(&Error!\n&);} else {s=max% printf(&%d%%%d=%d\n&,max,min,s);} } case 47:{if(min==0) {printf(&Error!\n&);} else {s=max/ printf(&%d/%d=%d\n&,max,min,s); 31. 32. }}}}19.【数列】求最小 m 值 成绩 5 开启时间 2014 年 03 月 24 日 星期一 13:25折扣0.8折扣时间2014 年 04 月 13 日 星期日 13:25允许迟交是关闭时间2014 年 04 月 20 日 星期日 13:25求满足下列不等式的最小 m。 1 + 2 + 3 + 4 + ...... + m ≥ n 例如:n=100,当 m =14 时,满足:1+2+3+4+...+13=91&100,而 1+2+3+4+......+14=105&100。 输入:n 输出:m测试输入期待的输出时间限制内存限制额外进程测试用例 1 1. 2. 3. 4.1.100?1.14?无限制64M0#include&stdio.h& int main(){int m,n,s=0;scanf(&%d&,&n); for(m=1;s&n;m++) s=s+m; printf(&%d\n&,m-1);return 0;}20.【图形】数字正方型 成绩 5 开启时间 2014 年 03 月 24 日 星期一 14:00折扣0.8折扣时间2014 年 04 月 13 日 星期日 23:55允许迟交否关闭时间2014 年 04 月 20 日 星期日 23:55这是双重循环的入门题目,大家来看看,你会做吗?输入 n 的值,输出如下例( n=4 )所示的由数字组成的正方型。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 输入: n 输出: 数字组成的正方型 测试输入期待的输出时间限制内存限制额外进程测试用例 11.1?1.1?1秒64M0测试用例 21.2? 1. 2. 1 2? 3 4?1秒64M0测试用例 31.3? 1. 2. 3. 1 2 3? 4 5 6? 7 8 9?1秒64M0测试用例 41.5? 1. 2. 3. 4. 5. 1 2 3 4 5? 6 7 8 9 10? 11 12 13 14 15? 16 17 18 19 20? 21 22 23 24 25?1秒64M01. 2. 3. 4. 5.#include&stdio.h& int main() {int i,j,m=0,n;scanf(&%d&,&n); for(j=1;j&=n;j++) {for(i=1;i&=n;i++) {m+=1;printf(& %2d&,m);} printf(&\n&);} return 0;}21.【图形】数字菱形 成绩 5 开启时间 2014 年 03 月 24 日 星期一 14:00折扣0.8折扣时间2014 年 04 月 20 日 星期日 23:55允许迟交否关闭时间2014 年 04 月 21 日 星期一 23:55这是非信息类 2013 年出的题目,大家来看看,你会做吗?输入 n 的值,输出如下例( n=4 )所示的数字菱形。 4 434 4
4 输入:n输出: 数字菱形友情提示:同学们总结一下打印星号组成的实心图形程序的编程思路:第一步,打印星号组成的正方形;第二步,改变每 行星号的个数,打印每行星号数量不一样的图形;如果是空心图形,每行第一个和最后一个位置输出星号,其他位置输出 空格。 现在我们练习输出变化的字符,在打印星号图形的基础上,原来输出*号的位置,将 printf(&*&);改为 printf(&%2d&,x);当然, 原来输出一个*号的地方只占一个字符的位置, 现在都要改为 2 个字符的位置, 如果输出的是数字且多于 2 个, 则要是%3d 或%4d 了。 x 是多少呢?则要寻找其规律,就是该输出位置与所在行列的关系。 注意给出的测试用例,输出的数字是左对齐啊。不用数组就可以完成。测试输入期待的输出时间限制内存限制额外进程测试用例 11.1? 1. 1?1秒64M0测试用例 21.2? 1. 2. 3. 2? 212? 2?1秒64M0测试用例 31.3? 1. 2. 3. 4. 5. 3? 323? 3? 3?1秒64M0测试用例 41.8? 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 8? 878? 88? ? ? 8? 678? 8? ? ? 8765678?1秒64M0 测试输入期待的输出时间限制内存限制额外进程13. 14. 15.8? 8?测试用例 51.10? 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 10? 109 10? 109 8 9 10? 109 8 7 8 9 10? 109 8 7 6 7 8 9 10? 109 8 7 6 5 6 7 8 9 10? 109 8 7 6 5 4 5 6 7 8 9 10? 109 8 7 6 5 4 3 4 5 6 7 8 9 10? 109 8 7 6 5 4 3 2 3 4 5 6 7 8 9 10? 109 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 10? 109 8 7 6 5 4 3 2 3 4 5 6 7 8 9 10? 109 8 7 6 5 4 3 4 5 6 7 8 9 10? 109 8 7 6 5 4 5 6 7 8 9 10? 109 8 7 6 5 6 7 8 9 10? 109 8 7 6 7 8 9 10? 109 8 7 8 9 10? 109 8 9 10? 109 10? 10?1秒64M01. 2. 3. 4. 5. 6. 7.#include&stdio.h& #include&math.h& main() {int a,b,i,j,k,m,n; scanf(&%d&,&n); for(i=n-1;i&-n;i--) {a=fabs(i);b=n-1-a; for(m=2*a;m&0;m--) printf(& &); for(j=b;j&=-b;j--) {k=n-b+fabs(j);printf(&%-2d&,k);} printf(&\n&);} return 0;}22.【图形】空心的倒三角型 成绩 5 开启时间 2014 年 03 月 24 日 星期一 14:00折扣0.8折扣时间2014 年 04 月 20 日 星期日 23:55允许迟交否关闭时间2014 年 04 月 21 日 星期一 23:55请根据要求打印可空心倒三角形。 输入:输入三角形的高度(h &= 0)。输出:打印相应的空心倒三角形。图样参见测试用例。测试输入期待的输出时间限制内存限制额外进程测试用例 11.3? 1. 2. 3. *****? * *? *?1秒64M0测试用例 21.5? 1. 2. 3. 4. 5. *********? * *? * *? * *? *?1秒64M01. 2. 3. 4. 5.#include &stdio.h& main(){int r,l,h; scanf(&%d&,&h); for(r=1;r&=2*h-1;r++) printf(&*&); for(r=2;r&=h;r++) {printf(&\n&); for(l=1;l&=2*h-r;l++) printf(&%s&,(l==r||l==2*h-r)?&*&:& &);} printf(&\n&);return 0;}23.【图形】空心字符菱形 成绩 5 开启时间 2014 年 03 月 24 日 星期一 14:00折扣0.8折扣时间2014 年 04 月 20 日 星期日 23:55允许迟交 输入:否关闭时间2014 年 04 月 21 日 星期一 23:55 参看测试用例,打印空心的由字符组成的菱形。菱型起始字母和菱形的高度。 输出:测试输入期待的输出时间限制内存限制额外进程测试用例 11.C 4? 1. 2. 3. 4. 5. 6. C? D D? E E? F F? E E? D D?1秒64M0 测试输入期待的输出时间限制内存限制额外进程7. 1. 2. 3. 4. 5. 6. 7. 8.C?#include &stdio.h& #include &math.h& main() {int n,i,j; scanf(&%c%d&,&c,&n); for(c=c+n-1,i=1-n;i&=n-1;i++) {for(j=1;j&=2*n-1-abs(i);j++) if(j==abs(i)+1||j==2*n-1-abs(i)) printf(&%c&,c-abs(i)); else printf(& &); printf(&\n&);}return 0;}24.【图形】空心数字梯形* 成绩 5 开启时间 2014 年 03 月 24 日 星期一 14:00折扣0.8折扣时间2014 年 04 月 20 日 星期日 23:55允许迟交否关闭时间2014 年 04 月 21 日 星期一 23:55输入行数 n 和首数字字符,在屏幕上输出由数字围起的高和下底宽度均 n 的空心梯形。 要求:输出的数字是循环的, 即输出数字 9 后再输出的数字是 0。 输入: 行数 n 和首字符 输出: 空心梯形测试输入期待的输出时间 限制内存 限制额外 进程测试用 例 11.5 5? 1. 2. 3. 4. 5. 5 6 7 8 9 0 1 0 9 8 7 6 5? 6 6? 7 7? 8 8? 9 0 1 0 9?1秒64M0测试用 例 21.1 0? 1. 0?1秒64M0测试用 例 31.2 9?1秒64M0 测试输入期待的输出时间 限制内存 限制额外 进程1. 2.9 0 0 9? 0 0?测试用 例 41.3 1? 1. 2. 3. 1 2 3 4 3 2 1? 2 2? 3 4 3?1秒64M0测试用 例 51.6 6? 1. 2. 3. 4. 5. 6. 6 7 8 9 0 1 2 3 3 2 1 0 9 8 7 6? 7 7? 8 8? 9 9? 0 0? 1 2 3 3 2 1?1秒64M0测试用 例 61.9 9? 1. 2. 3. 4. 5. 6. 7. 8. 9. 9 0 1 2 3 4 5 6 7 8 9 0 1 0 9 8 7 6 5 4 3 2 1 0 9? 0 0? 1 1? 2 2? 3 3? 4 4? 5 5? 6 6? 7 8 9 0 1 0 9 8 7?1秒64M0测试用 例 71.12 0? 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0? 1 1? 2 2? 3 3? 4 4? 5 5? 6 6? 7 7? 8 8? 9 9?1秒64M0 测试输入期待的输出时间 限制内存 限制额外 进程11. 12.0 0? 1 2 3 4 5 6 6 5 4 3 2 1?测试用 例 81.3 9? 1. 2. 3. 9 0 1 2 1 0 9? 0 0? 1 2 1?1秒64M01. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.#include&stdio.h& #include &math.h& int main() {int i,j,n,f,t=0;scanf(&%d%d&,&n,&f);t=f; for(j=1;j&=3*n-2;j++) {if(j==3*n-2) printf(&%d&,t); else printf(&%d &,t); if(j&(3*n-1)/2) {if(t==9) t=0; else t++;} else if(j==(3*n-1)/2&&n%2==0) else {if(t==0) t=9; else t--;}} printf(&\n&);t=f; for (i=2;i&=n;i++) {for (j=1;j&=2*(i-1);j++) printf(& &); if(i==n) {for (j=1;j&=(n+1)/2;j++) {if(t==9) {t=0;printf(&%d &,t);} else printf(&%d &,++t);} for (j=1;j&=n/2;j++) {if(t==0&&n%2!=0) t=9; else if(j==1&&n%2==0) {if(j==n/2) printf(&%d\n&,t); else printf(&%d &,t);} else t--; if(j==n/2) printf(&%d\n&,t); else printf(&%d &,t);}} else {if(t==9) {printf(&0&); for(j=1;j&=6*n-4*i-3;j++) printf(& &); printf(&0\n&);t=0;} else{t++; printf(&%d&,t); for(j=1;j&=6*n-4*i-3;j++) 37. printf(& &); printf(&%d\n&,t);}}} 38. return 0;}25.【图形】字母 X * 成绩 5 开启时间 2014 年 03 月 24 日 星期一 14:00折扣0.8折扣时间2014 年 04 月 20 日 星期日 23:55允许迟交否关闭时间2014 年 04 月 21 日 星期一 23:55输入整数 n 值和首字母,输出以首字母为中心,边长为 n 的 X 形。其中,上两条边上字母递增,下两条边上字母递减。 且认为字母是循环的,即 Z 与 A 相邻。 若输入的不是大写字母,则输出”input error&提示。 输入:4 A 输出: D D C C B B A Z Z Y Y X X 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 11.4 A? 1. 2. 3. 4. 5. 6. 7. D D? C C? B B? A? Z Z? Y Y? X X?1秒64M0测试用例 21.2 0? 1. input error.?1秒64M0测试用例 31.5 L? 1. 2. 3. 4. 5. P P? O O? N N? M M? L?1秒64M0 测试输入期待的输出时间限制内存限制额外进程6. 7. 8. 9.K K? J J? I I? H H?测试用例 41.3 Z? 1. 2. 3. 4. 5. B B? A A? Z? Y Y? X X?1秒64M01. 2. 3. 4. 5. 6. 7. 8. 9.#include &stdio.h& #include &stdlib.h& int main(){char a[2]; scanf(&%d%s&, &n, a); char ch = a[0], if(ch&='A'&&ch&='Z') {for(int i=n-1; i&=-(n-1); i--) {t = ((ch+i-'A')+26)%26+'A'; int k = abs(i); for(int j=0; j&n-1-k; j++) putchar(' ');putchar(t); for(int j=0; j&2*k-1; j++) putchar(' '); if(k!=0) putchar(t);putchar('\n');}} else {printf(&input error.\n&);}return 0;}H1. 铺地板(选作) 成绩 5 开启时间 2014 年 03 月 24 日 星期一 14:00折扣0.8折扣时间2014 年 04 月 20 日 星期日 23:55允许迟交是关闭时间2014 年 04 月 21 日 星期一 23:55背景: 1 3 4 10 11你是一名室内装潢工程队的配料员。你的伙伴们喜欢采用“之”字型的方式铺大理石地砖,图案如下: 2 5 9 12 19 6 8 13 18 20 7 14 17 21 24 15 16 22 23 25 方阵。学了 C 语言以后,你决定编写一个程序,帮助你的同伴生成这样的图形。 输入: 方阵 N 的大小。 输出 测试输入期待的输出时间限制内存限制额外进程测试用例 11.5? 1. 2. 3. 4. 5. 1 2 6 7 15? 3 5 8 14 16? 4 9 13 17 22? 10 12 18 21 23? 11 19 20 24 25?1秒64M0测试用例 21.3? 1. 2. 3. 1 2 6? 3 5 7? 4 8 9?1秒64M0测试用例 51.9? 1. 2. 3. 4. 5. 6. 7. 8. 9. 1 2 6 7 15 16 28 29 45? 3 5 8 14 17 27 30 44 46? 4 9 13 18 26 31 43 47 60? 10 12 19 25 32 42 48 59 61? 11 20 24 33 41 49 58 62 71? 21 23 34 40 50 57 63 70 72? 22 35 39 51 56 64 69 73 78? 36 38 52 55 65 68 74 77 79? 37 53 54 66 67 75 76 80 81?1秒64M01. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.#include &stdio.h& int main() {int i=0,j=0,g,n,t=1;int a[100][100];scanf(&%d&,&n); for(g=0;g&n;g++) {if(g%2!=0) {for(i=0,j=g;i&=g&&j&=0;i++,j--) {a[i][j]=t; t++;}} else {for(i=g,j=0;i&=0&&j&=g;i--,j++) {a[i][j]=t;t++;}}} for(g=1;g&n;g++) {if(g%2!=0) {for(i=g,j=n-1;i&n&&j&=g;i++,j--) {a[i][j]=t;t++;}} else {for(i=n-1,j=g;i&=g&&j&n;i--,j++) {a[i][j]=t;t++;}}} for(i=0;i&n;i++) {for(j=0;j&n;j++) {if(j==n-1) printf(&%2d&,a[i][j]); else printf(&%2d &,a[i][j]);} printf(&\n&);}return 0;} H2. 晕(选作) 成绩 5 开启时间 2014 年 03 月 24 日 星期一 14:00折扣0.8折扣时间2014 年 04 月 20 日 星期日 23:55允许迟交是关闭时间2014 年 04 月 21 日 星期一 23:55看着这样的“回”形图案你晕吗?让我们不用数组,来做出它。输入:n。正方形的边长 输出:边长为 n 的数字回形方阵。测试输入期待的输出时间限制内存限制额外进程测试用例 11.3? 1. 2. 3. 1 2 3? 8 9 4? 7 6 5?1秒64M0测试用例 21.4? 1. 2. 3. 4. 1 2 3 4? 12 13 14 5? 11 16 15 6? 10 9 8 7?1秒64M0测试用例 51.5? 1. 2. 3. 4. 5. 1 2 3 4 5? 16 17 18 19 6? 15 24 25 20 7? 14 23 22 21 8? 13 12 11 10 9?1秒64M01. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.#include&stdio.h& int main() { int a[20][20],i,j,n,m=1,l,k=0;scanf(&%d&,&n); l=n; for(i=1;i&=(n+1)/2;i++) {for(j=0;j&l;j++) {a[k][j+k]=j+m; a[n-1-k][j+k]=3*l-3+m-j;} for(j=1;j&=l-1;j++) {a[j+k][k]=4*l-4-j+m; a[j+k][n-1-k]=l+j+m-1;} m=m+4*l-4; l=l-2; k=k+1;} for(i=0;i&=n-1;i++) {for(j=0;j&=n-1;j++) printf(&%3d&,a[i][j]); printf(&\n&);}} 26.【数列】计算 SUM 的值 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 25 日 星期五 23:55允许迟交是关闭时间2014 年 04 月 30 日 星期三 23:55小明上了中学,开始接触数列了。已知公式:SUM = 1 + 1/2 + 1/3 + 1/4 + ... + 1/n 输入: n 输出: 表达式 sum 的值。结果保留 6 位小数。测试输入期待的输出时间限制内存限制额外进程测试用例 11.1?1.sum=1.000000?1秒64M0测试用例 21.2?1.sum=1.500000?1秒64M0测试用例 3 1. 2. 3. 4.1.3?1.sum=1.833333?1秒64M0#include&stdio.h& void main() {double sum,i; scanf(&%d&,&n); for(i=1,sum=0;i&=n;i++) sum=sum+1/i; printf(&sum=%.6lf\n&,sum);}27.【中学】寻找特殊偶数 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 25 日 星期五 23:55允许迟交否关闭时间2014 年 04 月 30 日 星期三 23:55背景 有一种特殊偶数,它每一位上的数字都两两不相同。我们现在需要找出四位数中某一区间内的这类偶数。输入 所要寻找的四位偶数的范围。每组输入有两个数字:第一个数字是最小范围;第二个数字是最大范围。如果输入遇 到 0,输入结束。 输出 列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。 时间 限制 内存 限制 额外 进程测试输入期待的输出测试 用例 11秒 1. 2. 3. ? ? 0 0? 1. 2. 3. 4. 16 3018 ? counter=4? 52 72 82 6084 ? counter=10?64M0测试 用例 21秒 1. 2. 3. 9 101? 87 -1? 0 0? 1. 2. Error? Error?64M01. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.#include&stdio.h& #include&math.h& main(){int i,j,k,a,b,c,d,m=0,e; for(e=0;e&=0;e++) {scanf(&%d%d&,&i,&j); if((i==0)||(j==0)) else if((i&9999||i&1000)||(j&9999||j&1000)) printf(&Error\n&); else {for(k=i;k&=j;k++) {if (k%2==1) a=k/1000;b=(k%;c=(k%100)/10;d=k%10; if((((a==b)||(b==c))||(c==d)) ||((d==a)||((a==c)||(d==b)))) printf(&%d &,k);m+=1;} printf(&\ncounter=%d\n&,m); m=0;}}}28.【中学】寻找阿姆斯特朗数 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 25 日 星期五 23:55允许迟交否关闭时间2014 年 04 月 30 日 星期三 23:55请编写一个程序寻找一种特殊整数:一个 n 位的正整数等于其各位数字的 n 次方之和。 例如:407=4× 4× 4+0× 0× 0+7× 7× 7。所以 407 就是一个特殊数。 输入:正整数的位数 n(n&=6)。输出: 所有此 n 位特殊数。每个数占一行。若不存在符合条件的特殊数,则输出提示:“No output.”;若存在,则从小 到大进行输出。说明:假设输入为 4,在 4 位整数中,有 3 个 4 位的特殊数,则输出格式为(输出中的
和 9999 并不是 4 位特 殊数,只是格式样例): 99 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 11.3? 1. 2. 3. 4. 153? 370? 371? 407?1秒64M0测试用例 2 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.1.2?1.No output.?1秒64M0#include&stdio.h& #include &math.h& int main() {int n,i,j,num,t,s=0,t1,flag=0; scanf(&%d&,&n); t=pow(10,n-1); for (i=t;i&t*10;i++) { t1=i; s=0; for (j=1;t1!=0;j++) { num=t1%10; s+=pow(num,n); t1=t1/10; } if(s==i) { flag=1; printf(&%d\n&,i); }} if(flag==0) printf(&No output.\n&); return 0;}29.【中学】零钱换整钱* 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 25 日 星期五 23:55 允许迟交否关闭时间2014 年 04 月 30 日 星期三 23:55小明手中有硬币, 小红手中有若干张 10 元的纸币。 已知 1 角硬币厚 1.8mm, 5 角硬币厚 1.5mm, 1 元硬币厚 2.0mm 。 小红拿出若干张 10 元的纸币,小明要将 1 角的硬币放成一摞,将 5 角的硬币放成一摞,将 1 元的硬币放成一摞,如果 3 摞硬币一样高,且三摞硬币的金额之和正好等于小红要求的面值,则双方交换,否则没有办法交换。 输入: 小红希望交换几张 10 元的纸币 测试输入 期待的输出 输出: 1 角的数量,5 角的数量,1 元的数量 时间限制 内存限制 额外进程测试用例 11.8?1.50,60,45?1秒64M0测试用例 2 1. 2. 3. 4. 5.1.4?1.No change.?1秒64M0#include &stdio.h& int main(){int n,t,x,y,z; scanf(&%d&,&n);t=n*10; if(t%16!=0) printf(&No change.\n&); else {t=t/16;x=t*10;y=t*12;z=t*9;printf(&%d,%d,%d\n&,x,y,z);} return 0;}30.【日期】计算天数 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 25 日 星期五 23:55允许迟交否关闭时间2014 年 04 月 30 日 星期三 23:55我们经常要计算天数(两个日期之间相差几天),例如要算算春节放假几天,清明节可以休息几天。 输入: 起始日期的年,月,日 终止日期的年,月,日 (假设终止日期大于起始日期)输出: 终止日期与起始日期之间的天数 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. 2. ? ?1.10 days?无限制64M0测试用例 2 1. ?1.2 days?无限制64M0 测试输入期待的输出时间限制内存限制额外进程2.?测试用例 3 1. 2. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ? ?1.366 days?无限制64M0#include &stdio.h& long sum(int y,int m,int d) {int x[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; long i,s=0; for(i=1;i&y;i++) if(i%4==0&&i%100!=0||i%400==0) s+=366; else s+=365; if(y%4==0&&y%100!=0||y%400==0)x[2]=29; for(i=1;i&m;i++) s+=x[i]; s+=d;} void main() {int y1,m1,d1,y2,m2,d2; long s1,s2;scanf(&%d%d%d%d%d%d&,&y1,&m1,&d1,&y2,&m2,&d2); s1=sum(y1,m1,d1); s2=sum(y2,m2,d2); printf(&%d days\n&,s2-s1);}31.【中学】求最后 3 位数值 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 25 日 星期五 23:55允许迟交否关闭时间2014 年 04 月 30 日 星期三 23:55小明在中学会求一个数的 n 次方了,但计算机还不会,请你来编写一个程序吧。由于计算机比较“笨”,所以我们编写程 序的功能不用太强,只要能算出 a 的 n 次方的最后 3 位数就可以了。 输入: a 和 n 的值。假设 a&=150 。 输出: 求 a 的 n 次方的最后 3 位数。提示:再想一想,你的方法对吗?你用的是什么数据类型? 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 11.10 0?1.The last 3 numbers is 1.?1秒64M0 测试输入期待的输出时间限制内存限制额外进程测试用例 21.2 8?1.The last 3 numbers is 256.?1秒64M0测试用例 3 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.1.100 10?1.The last 3 numbers is 000.?1秒64M0#include&stdio.h& int main() {long int s=1;int a,n,i=1,t=1; scanf(&%d%d&,&a,&n); if(n==0) printf(&The last 3 numbers is 1.\n&); else{for(i=1;i&=n;i++) {s=(s*a)%1000;}t=s%1000; if(t&=0&&t&10) printf(&The last 3 numbers is 00%d.\n&,t); if(t&=10&&t&100) printf(&The last 3 numbers is 0%d.\n&,t); if(t&=100&&t&1000) printf(&The last 3 numbers is %d.\n&,t);} return 0;}H4:邮票组合(选作) 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.9折扣时间2014 年 04 月 25 日 星期五 23:55允许迟交是关闭时间2014 年 04 月 30 日 星期三 23:55背景:我们寄信都要贴邮票,在邮局有一些小面值的邮票,通过这些小面值邮票中的一张或几张的组合,可以满足不同邮 件的不同的邮资。 现在,邮局有 4 种不同面值的邮票。在每个信封上最多能贴 5 张邮票,面值可相同,可不同。 输入: 说明: 名词解释: 四种邮票的面值。 输出: 用这四种面值组成的邮资最大的从 1 开始的一个连续的区间。如结果为 10,则表明使用 4 张邮票可组合出 1、2、3、4、5、6、7、8、9、10 这些邮资。 邮资:就是你寄东西需要花多少钱。 邮票面额:是由国家发行的具有固定价格的花纸片,被称为邮票。如果你寄东西,邮局称了重量,告诉你要 240 分。这样你就要贴邮票了。如果现在邮局的邮票有面值为 80 分、50 分、20 分和 10 分的四种,你就可以采用不同的组合得到 240 的邮资,例如:采用 3 张 80 分的可以凑出 240 分;或者 24 张 10 分 的凑起来 240 分也可以。显然不同邮票的组合都可以得到同样一种邮资。 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 11.1 4 12 21?1.The max is 71.?1秒64M0测试用例 21.1 3 7 12?1.The max is 46.?1秒64M0 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.#include&stdio.h& main() { int a,b,c,d,i,j,k,l; static int s[1000]; scanf(&%d%d%d%d&,&a,&b,&c,&d); for (i=0;i&=5;i++) for (j=0;i+j&=5;j++) for (k=0;k+i+j&=5;k++) for (l=0;k+i+j+l&=5;l++) if (a*i+b*j+c*k+d*l) s[a*i+b*j+c*k+d*l]++; for (i=1;i&=1000;i++) if(!s[i]) printf(&The max is %d.\n&,--i); return 0;}32. 孪生素数 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 25 日 星期五 23:55允许迟交否关闭时间2014 年 04 月 30 日 星期三 23:55 输出:在此范围内的全部孪生素数 内存限制 额外进程如果 n 是素数,且 n+2 也是素数,则称为孪生素数。输入:下限范围 上限范围 测试输入 期待的输出 时间限制测试用例 11.10 20? 1. 2. 11,13? 17,19?1秒64M0测试用例 21.100 200? 1. 2. 3. 4. 5. 6. 7. 101,103? 107,109? 137,139? 149,151? 179,181? 191,193? 197,199?1秒64M0测试用例 31.? 1. ?1秒64M0 测试输入期待的输出时间限制内存限制额外进程2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. #include &stdio.h& #include &math.h& int prime(int n) { if(n&2) return 0; for(i=2;i&=sqrt(n);i++) if(n%i==0) return 0;return 1;} void main() {int i,m,n;scanf(&%d&,&m);scanf(&%d&,&n); for(i=m;i&=n-2;i++) if(prime(i) && prime(i+2)) printf(&%d,%d\n&,i,i+2);}? ? ? ? ? ? ? ? ? ? ? ? ? ?33.【日期】计算后续日期 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 28 日 星期一 23:55允许迟交否关闭时间2014 年 05 月 5 日 星期一 23:55我们经常要计算,从今天往后 N 天之后是哪一天(哪年哪月哪日)。现在我们就可以编写一个程序,推算指定日期之后 的第 N 天是什么日期。 输入: 年 月 日 N 输出:(年月日+N 天后的)年.月.日 测试输入期待的输出时间限制内存限制额外进程测试用例 1 1. 2. ? 91?1.?无限制64M0测试用例 2 1. 2. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ? 364?1.?无限制64M0#include&stdio.h& #include&math.h& int main() {int s,i,c=0,y,m,t=0,d,n,days[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; scanf(&%d%d%d%d&,&y,&m,&d,&n); if((y%4==0&&y%100!=0)||y%400==0) days[2]=29; for(i=1;i&=m-1;i++) {c=c+days[i];} c+=d;s=c+(y-1)/4-(y-1)/100+(y-1)/400+(y-1)*365+n; y=s/(365*400+97)*400+s%(365*400+97)/(365*100+24)*100+s%(365*400+97)%(365*100+24)/(365*4+1)*4+s%(365*4 00+97)%(365*100+24)%(365*4+1)/365+1; s=s%(365*400+97)%(365*100+24)%(365*4+1)%365; days[2]=28;if((y%4==0&&y%100!=0)||y%400==0) days[2]=29; for(i=1;i&=12;i++){if(t+days[i]&=s) t+=days[i];} t=s-t;if(i==1&&t==0) printf(&%d.12.31\n&,y-1); else printf(&%d.%d.%d\n&,y,i,t);return 0;}34. 【中学】哥俩好 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 28 日 星期一 23:55允许迟交否关闭时间2014 年 05 月 5 日 星期一 23:55输出一维数组中的元素(不超多 20 个元素)两两相乘的乘积。 两两元素相乘的顺序是第一个元素与最后一个元素相乘,第二个元素与倒数第二个元素相乘,......。 输入:第一行为元素数量,第二行为各个元素 7 1234567 输出: 7 12 15 4 测试输入期待的输出时间限制内存限制额外进程测试用例 1 1. 2. 7? 1 2 3 4 5 6 7?1.7 12 15 4 ?无限制64M0测试用例 6 1. 2. 1. 2. 3. 4. 5. 6. 6? 1 2 3 4 5 6?1.6 10 12 ?无限制64M0#include&stdio.h& int main (){int n,i,k,a[20];scanf(&%d&,&n); for(i=0;i&n;i++) scanf(&%d&,&a[i]); for(i=0;i&n/2;i++) printf(&%d &,a[i]*a[n-1-i]); if(n%2==1) {k=(n-1)/2;printf(&%d &,a[k]);}printf(&\n&); return 0;}36. 【中学】谁能出线 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 28 日 星期一 23:55允许迟交是关闭时间2014 年 05 月 5 日 星期一 23:55背景:电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。按规定,每 10 名学生为一个预赛 小组,评委打出分数(0~100 分),各小组第一名可以进入下一轮;如果有多名学生得分相同都是第一名,则可同时进入 下一轮。 输入: 按顺序给出一个小组 10 个人的最后得分(int)。 测试输入 期待的输出 输出: 能够出线的学生序号(1~10)。 时间限制 内存限制 额外进程测试用例 1 1. 2. 3. 4. 5. 6. 7. 98? 98? 100? 97? 95? 94? 90?1.3?1秒64M0 测试输入期待的输出时间限制内存限制额外进程8. 9. 10.94? 93? 92?测试用例 2 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 1. 2. 3. 4. 5. 6. 7. 98? 98? 99? 97? 95? 99? 90? 94? 93? 92? 1. 2. 3? 6?1秒64M0#include &stdio.h& int main() {int i,s[10]={0},max=0; for(i=0;i&10;i++){scanf(&%d&,&s[i]); if(max&s[i]) max=s[i];} for(i=0;i&10;i++) {if(s[i]==max) printf(&%d\n&,i+1);} return 0;}37.【中学】大家一起做游戏 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 28 日 星期一 23:55允许迟交是关闭时间2014 年 05 月 5 日 星期一 23:55幼儿园的小朋友们刚学习了如何数数, 阿姨在下课时组织大家一起玩游戏。 规则如下: 所有的小朋友绕成一圈, 顺序排号, 从第一个小朋友开始报数,凡是报到固定数字(例如 5)的,都退出该游戏,直到只剩下一位小朋友游戏才中止。 每个小朋友都希望自己能有更多的练习数数的机会,所以都希望成为最终被留下的那位。 现在,请大家帮小朋友们计算一下,在第一次排号的时候排到第几位才能成为最终被留下的小朋友。 输入:小朋友的个数(&=50)要被练习的数字 输出:最终被留下的小朋友的序号 说明:如“要被练习的数字”是 5,则每次数到 5 的同学要退出该游戏 测试输入期待的输出时间限制内存限制额外进程测试用例 2 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.1.4 3?1.The left child is NO 1.?1秒64M0#include &stdio.h& void main() {long int left,p,i,j,k,q,flag[100],n,m; scanf(&%d%d&,&n,&m);left=n; p=1; for (i=1;i&=n;i++) flag[i]=1; for (i=1;i&=n;i++) {q=(m-1)%left+1;j=0; k=p; while (j!=q) {if (flag[k]==1) j++; if (j==q) k++;if (k==n+1) k=1;} flag[k]=0; p=k; left--;} printf(&The left child is NO %d.\n&,k); }38. 【数列】等值数列段 成绩 5 开启时间 2014 年 04 月 2 日 星期三 14:00折扣0.8折扣时间2014 年 04 月 28 日 星期一 23:55允许迟交是关闭时间2014 年 05 月 5 日 星期一 23:55如果一个数列中的某一段(至少有两个元素)的各元素值均相同,则称之为等值数列段。等值数列段中元素的个数叫做等 值数列段的长度。 输入:由 N 个元素组成的整数数列 A(其中 N&=50) 输出:A 中长度最大的所有等值数列段的始末位置,如果没有等值 数列段,则输出 No equal number list. 说明:始末位置是指数组下标,即 0 表示第一个元素。如果有多个同等长度的等值数列,只输出第一个等值数列的起始位 置。即:当在一个 LIST 中出现两个等长的连续串时,答案应该是第一个等长串。 时间限 制 内存限 制 额外进 程测试输入期待的输出测试用例 1 1. 2. 5? 1 2 3 4 5?1.No equal number list.?1秒64M0测试用例 21.1秒64M0 测试输入期待的输出时间限 制内存限 制额外进 程The longest equal number list is from 2 to 4.? 1. 2. 6? 1 0 1 1 1 0?测试用例 3 1. 2. 10? 1 1 1 0 1 1 1 1 1 1?1. The longest equal number list is from 4 to 9.?1秒64M0测试用例 4 1. 2. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 10? 1 4 4 4 5 6 6 6 5 6?1. The longest equal number list is from 1 to 3.?1秒64M0#include&stdio.h& #include&string.h& #define N 50 #define M 50 int main() {char a[N],t;int i,j=0,n,b[M]={0},max=0,min=0,scanf(&%d&,&n); k:{gets(a); if((strlen(a)+1)/2!=n)} t=a[0];b[0]=0; for(i=2;i&strlen(a);i+=2) {if(t!=a[i]) {t=a[i];j++;b[j]=(i+1)/2;}} j++;b[j]=(i+1)/2;temp=b[1]-b[0]; max=b[1]-1;min=b[0]; for(i=1;i&=j;i++) {if(temp&b[i+1]-b[i]) {temp=b[i+1]-b[i];max=b[i+1]-1;min=b[i];}} if(temp==1) printf(&No equal number list.\n&); else printf(&The longest equal number list is from %d to %d.\n&,min,max); return 0;}39. 【大学】寻找矩阵的鞍点 成绩 5 开启时间 2014 年 04 月 2 日 星期三 12:00折扣0.8折扣时间2014 年 04 月 28 日 星期一 23:55 允许迟交否关闭时间2014 年 05 月 5 日 星期一 23:55二维数组中的鞍点,即该位置上的元素是所在行上的最大值,是所在列上的最小值。二维数组也可能没有鞍点。 输入一个二维数组的行数 n,列数 m,二维数组的诸元素值;输出数组的鞍点,以及鞍点所在的行列号。 输入:第一行为矩阵的行数和列数,从第二行开始,为矩阵本身(假设输入的矩阵只有 0 和 1 个鞍点) 34 67 输出: Point: a[1][2] == 4 (下标从 0 开始) 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. 2. 3. 4. 3 4? 1 3 5 3? 2 3 4 1? 3 2 6 7?1.Point:a[1][2]==4?无限制64M0测试用例 2 1. 2. 3. 4. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 3 4? 1 2 3 4? 8 4 3 6? 9 4 5 1?1.No Point?无限制64M0#include&stdio.h& #include&math.h& int main() {int a[50][50],t,m,n,i,j,k,M,s=0; scanf(&%d%d&,&m,&n); for(i=0;i&m;i++) for(j=0;j&n;j++) scanf(&%d&,&a[i][j]); for(i=0;i&=m-1;i++) {M=0;t=1; for(j=0;j&=n-1;j++) if(a[i][j]&=M) M=a[i][j]; for(j=0;j&=n-1;j++) if(a[i][j]==M) {for(k=0;k&=m-1;k++) if(a[i][j]&a[k][j]) t=0; if(t==1) {printf(&Point:a[%d][%d]==%d\n&,i,j,a[i][j]); s=1;}}} if(s==0) printf(&No Point\n&); return 0;} H5:计算通用产品代码(UPC)的校验位(选作) 成绩 5 开启时间 2014 年 04 月 21 日 星期一 14:00折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55允许迟交否关闭时间2014 年 05 月 21 日 星期三 23:55背景 许多年来,货物生产商都会把超市售卖的每件商品上放置一个条码。这种被称为通用产品代码(Universal Product Code, 缩写 UPC)的条码可以识别生产商和产品。超市可以通过扫描产品上的条码来确定支付此项商品的费用。每一个条码由 十二位数字构成,通常这些数字会显示在条码下面。例如,包装为 26 盎司的 Morton 牌碘化盐所用条码下的数字是: 0
0 第一个数字表示商品的种类(0 表示大部分的食品杂货,2 表示需要称量的货品,3 表示药品或和健康相关的商品,而 5 表示优惠券)。接下来的一组五位数字用来识别生产商。而第二组五位数字则用来区分产品类型(其中包括包装尺寸)。 最后一位数字是“校验位”,它可以帮助鉴别先前数字中的错误。如果条码扫描出现错误,那么前十一位数字和最后一位数 字可能会不一致,而超市扫描机也会拒绝整个条码。 下面是一种计算校验位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。然后把第二位、 第四位、第六位、第八位和第十位数字相加。接着把第一次加法结果乘以 3 后再加上第二次加法的结果。随后,再把上述 结果减去 1。减法后的结果除以 10 取余数。最后,用 9 减去上一步骤中得到的余数。现在以 Morton 碘盐为例,第一组数 字的加法是 0+4+0+0+0+3=7,而第二组数字的加法是 2+6+0+1+0=9。把第一组加法值乘以 3 后再加上第二组加法值得到 的结果是 30。再减去 1,结果变为 29。再把这个值除以 10 取余数为 9。9 在减去余数结果 9,最终值为 0。输入 每次输入三行数据,第一行是 UPC 的第一位数字,第二行是 UPC 的第一组五位数字,第三行是 UPC 的第二组五 位数字。 输出 UPC 的校验位 提示 本题有隐藏测试用例。如果想多找不同的实例验证你的算法,可以拿身边书或食品背后的条码测试一下。测试输入期待的输出时间限制内存限制额外进程测试用例 1 1. 2. 3. 1. 2. 3. 4. 0? 2?1.0?1秒64M0#include&stdio.h& #include&math.h& int main() {int i,j,s1=0,s2=0,t;int a[11];char b[6],c[6];scanf(&%d&,&a[0]);scanf(&%s&,b);scanf(&%s&,c); 5. 6. 7. 8. 9. 10. 11. 12.for (i=0,j=1;i&5;i++,j++) a[j]=b[i]-48; for (i=0,j=6;i&5;i++,j++) a[j]=c[i]-48; for (i=0;i&11;i++) {if(i%2==0) s1+=a[i]; else s2+=a[i];} t=9-(s1*3+s2-1)%10; printf(&%d\n&,t); return 0;}H6:猜数字(选作) 成绩 5 开启时间 2013 年 04 月 2 日 星期二 14:00折扣0.8折扣时间2013 年 04 月 28 日 星期日 23:55允许迟交是关闭时间2013 年 05 月 5 日 星期日 23:55有如下一组数字,其中每个数字都在 1 ~ 63 之间, 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 2 3 6 7 10 11 14 15 18 19 22 23 26 27 30 31 34 35 38 39 42 43 46 47 50 51 54 55 58 59 62 63 4 5 6 7 12 13 14 15 20 21 22 23 28 29 30 31 36 37 38 39 44 45 46 47 52 53 54 55 60 61 62 63 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31 40 41 42 43 44 45 46 47 56 57 58 59 60 61 62 63 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 现在需要编写一个程序,当从键盘输入某数字在且仅在哪几行出现了,该程序可以“猜”出这个数字是几。 (这道题不必用数组) 输入:程序的输入是一串以空白符分开的数字,当输入 0 时表示输入结束。 输出:输出猜到的数字。测试输入期待的输出时间限制内存限制额外进程测试用例 11.1 2 0?1.3?1秒64M0测试用例 21.2 1 0?1.3?1秒64M0测试用例 3 1. 2. 3. 4. 5.1.2 4 0?1.10?1秒64M0#include &stdio.h& int main() { int a[7],m,n=0,i,p=0; for (i=0;i&7;i++) { scanf(&%d&,&a[i]); n++; 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.if (a[i]==0) { } scanf(& &); } for (m=1;m&64;m++) { p=0; for (i=0;i&(n-1);i++) { if (a[i]==1) {if (m==m/2*2) {p=1;}} if (a[i]==2) {if (m%4!=3&&m%4!=2) {p=1;}} if (a[i]==3) {if (m%8!=4&&m%8!=5&&m%8!=6&&m%8!=7) {p=1;}} if (a[i]==4) {if(m%16!=8&&m%16!=9&&m%16!=10&&m%16!=11&&m%16!=12&&m%16!=13&&m%16!=14&&m%16!=15) {p=1;}} if (a[i]==5) {if (m&31&&m&48||m&16) {p=1;}} if (a[i]==6) {if (m&32) {p=1;}} } if (p==0) {printf(&%d\n&,m);} } return 0;}H7:数制转换(选作) 成绩 5 开启时间 2013 年 04 月 2 日 星期二 14:00折扣0.8折扣时间2013 年 04 月 28 日 星期日 23:55允许迟交是关闭时间2013 年 05 月 5 日 星期日 23:55我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。 这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。 譬如 12 和 5 ,在十进制下它们是不等的,但若 12 使用 3 进制而 5 使用六进制或十进制时,它们的值就是相等的。 因此只要选择合适的进制, 12 和 5 就可以是相等的。 程序的输入是两个数字 M 和 N( 其十进制的值不超过 ) ,它们的进制在 2~36 之间。对于十以下的数字, 用 0~9 表示,而十以上的数字,则使用大写的 A~Z 表示。 求出分别在 2~36 哪种进制下 M 和 N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可 能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。 测试输入期待的输出时间限制内存限制额外进程测试用例 11.12 5?1.12 (base 3) = 5 (base 6)?1秒64M0测试用例 21.123 456?1.123 is not equal to 456 in any base 2..36?1秒64M0测试用例 31.10 A?1.10 (base 10) = A (base 11)?1秒64M0测试用例 4 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.1.12 456?1.12 is not equal to 456 in any base 2..36?1秒64M0#include&stdio.h& int main() {long int pm=0,pn=0,s=0,t=0,w=1,e=1,p=0,q=0;int a[30],b[30];char m[30],n[30];int i,j,g,k,max1=0,max2=0,flag=0; scanf(&%s%s&,m,n); for(i=0;m[i]!='\0';i++) {if(m[i]&='A'&&m[i]&='Z') a[i]=m[i]-55; if(m[i]&='0'&&m[i]&='9') a[i]=m[i]-48; max1=max1&(a[i]+1)?(a[i]+1):max1;max1=max1&2?2:max1;} pm=i; for(j=0;n[j]!=0;j++) {if(n[j]&='A'&&n[j]&='Z') b[j]=n[j]-55; if(n[j]&='0'&&n[j]&='9') b[j]=n[j]-48; max2=max2&(b[j]+1)?(b[j]+1):max2; max2=max2&2?2:max2;} pn=j; for(i=max1,j=max2;i&=36&&j&=36; ) { p=0;q=0;w=1;e=1; for(g=pm-1;g&=0;g--) {p+=a[g]*w;w=w*i;} for(k=pn-1;k&=0;k--) {q+=b[k]*e;e=e*j;} if(p&q) i++; else if (p&q) j++; else {flag=1;printf(&%s (base %d) = %s (base %d)\n&,m,i,n,j);} } if(flag==0) printf(&%s is not equal to %s in any base 2..36\n&,m,n); return 0;}35. 【大学】北理工的恶龙 成绩 5 开启时间 2014 年 04 月 21 日 星期一 14:00折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55允许迟交否关闭时间2014 年 05 月 18 日 星期日 23:55 背景:最近,北理工出现了一只恶龙,它长着很多 头,而且还会吐火,它将会把北理工烧成废墟, 于是,校长下令召集 全校所有勇士杀死这只恶龙。要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能砍一个龙头,龙的每个头大小都不 一样,一个勇士只有在身高不小于龙头的直径的情况下才能砍下它。而且勇士们要求,砍下一个龙头必须得到和自己身高 厘米数一样的学分。校长想花最少的学分数杀死恶龙,于是找到你寻求帮助。 输入:第一行 龙头数 n , 勇士人数 m ( 1&=n, m&=100 ) 接下来 n 行,每行包含一个整数,表示龙头的直径 接下来 m 行,每行包含一个整数,表示勇士的身高 l 输出: 如果勇士们能完成任务,输出校长需要花的最小费用;否则输 出 “bit is doomed! ” 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. 2. 3. 4. 5. 6. 2 3? 5? 4? 7? 8? 4?1.11?1秒64M0测试用例 2 1. 2. 3. 4. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 2 1? 5? 5? 10?1.bit is doomed!?1秒64M0#include&stdio.h& int main() {int n,m,i,j,t,k,c,d; scanf(&%d%d&,&n,&m); int a[100]={0}; int b[100]={0}; for(i=0;i&n;i++) scanf(&%d&,&a[i]); for(j=0;j&m;j++) scanf(&%d&,&b[j]); for(i=0;i&n;i++) {for(j=0;j&n-1;j++) { if(a[j]&a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}}} for(i=0;i&m;i++) {for(j=0;j&m-1;j++) {if(b[j]&b[j+1]) {t=b[j];b[j]=b[j+1];b[j+1]=t;}}} k=0; for(i=0;i&n;i++) {for(j=k;j&m;j++) {if(b[j]&=a[i]) {a[i]=0; k++;} else {b[j]=0; k++;}} if (k&m)} for(i=k;i&m;i++) 23. 24. 25. 26. 27.b[i]=0;c=0;d=0; for(i=0;i&n;i++) c=c+a[i]; for(i=0;i&m;i++) d=d+b[i]; if(c==0) printf(&%d\n&,d); else printf(&bit is doomed!\n&); }40. 【中学】整数问题 成绩 5 开启时间 2014 年 04 月 21 日 星期一 14:00折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55允许迟交否关闭时间2014 年 05 月 18 日 星期日 23:00请输出满足以下条件的 n 位正整数的个数: 要求该 n 位整数的从高位开始前 1 位可以被 1 整除,前 2 位可以被 2*2 整除,前 3 位可以被 3*3 整除,前 4 位可 以被 4*4 整除……。即该整数前 k 位都可被 k 平方整除。 例如: n=1, 则符合条件的 1 位正整数为 1~9, 输出答案 9。 n=2, 符合条件的正整数为: 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96,则输出答案 22。当 n=4 时,2432 就是一个符合题意的整数。第一位 2 可以被 1 整除;前 2 位 24 可以被 4 整除;前 3 位 243 可以被 9 整除;整个 4 位 2432 可以被 16 整除。 输入: n(0&=n&9) 输出: 符合该条件的 n 位正整数的数量(本题目为软件学院 2007 年保研学生初试上机试题。本题可以不用数组) 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 11.1?1.9?1秒64M0测试用例 21.2?1.22?1秒64M0测试用例 6 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.1.8?1.0?1秒64M0#include &stdio.h& #include &math.h& int main() {static int a[30],b[30],n,t,i,j,k; scanf(&%d&,&n); for(i=1;i&=n;i++) {t=1; for(j=1;j&30;j++) {for(k=0;k&=9;k++) {b[t]=a[j]*10+k; if(b[t]%(i*i)==0 && b[t]&b[t-1]) t++;}} for(j=1;j&30;j++) {a[j]=b[j];b[j]=0;} 12. t--;} 13. printf(&%d\n&,t); return 0;}41. 【字符】合并字符串 成绩 5 开启时间 2014 年 04 月 21 日 星期一 14:00折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55允许迟交是关闭时间2014 年 05 月 18 日 星期日 23:55输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到 大 排列。 输入: 两个已经排好顺序(升序)的两个字符串 输出:一个合并在一起的有序(升序)的字符串要求:设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。 如果采用先进行串连接,然后再进行排序的算法,则效率太低了。 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. 2. abcdef? bcefghi?1.abbccdeeffghi?1秒64M0测试用例 2 1. 2. 9?1.?1秒64M0测试用例 3 1. 2. 789? 12345?1.?1秒64M0测试用例 4 1. 2. 3456?1.?1秒64M0测试用例 5 1. 123456?1.123456?1秒64M0 测试输入期待的输出时间限制内存限制额外进程2.?测试用例 6 1. 2. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ? 123456?1.123456?1秒64M0#include&stdio.h& #include&string.h& int main() {char a[100],b[100],c[200]; int i=0,j=0,k=0;gets(a);gets(b); while(i&strlen(a)&&j&strlen(b)) {if(a[i]&b[j]) {c[k++]=a[i++];} else {c[k++]=b[j++];}} while(i&strlen(a)) {c[k++]=a[i++];} while(j&strlen(b)) {c[k++]=b[j++];} c[k]='\0';printf(&%s\n&,c);return 0;}42. 【字符】删除重复字符 成绩 5 开启时间 2014 年 04 月 21 日 星期一 14:00折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55允许迟交是关闭时间2014 年 05 月 18 日 星期日 23:55背景:输入一个长度不超过 100 的字符串,删除串中的重复字符。 输入:输入要检查的字符串,长度不超过 100 个字符。例如:abacaeedabcdcd。 输出:删除重复字符后的字符串。例如:abced。 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 11.abacaeedabcdcd?1.abced?1秒64M0测试用例 21.455577yuyuyu?1.123457yu?1秒64M0测试用例 31.11?1.1?1秒64M0 1. 2. 3. 4. 5. 6. 7. 8.#include&stdio.h& #include&string.h& int main() {char a[100],b[100];int i,j,k=1,s,m;gets(a);b[0]=a[0];printf(&%c&,b[0]); for(i=1;i&=strlen(a)-1;i++) {s=1;for(j=0;j&k;j++) {m=1-(b[j]==a[i]);s=s*m;} if(s==1) {b[k]=a[i];printf(&%c&,b[k]);k++;}} printf(&\n&);return 0;}43. 【字符】串的减法 成绩 5 开启时间 2014 年 04 月 21 日 星期一 14:00折扣0.8折扣时间2014 年 05 月 10 日 星期六 23:55允许迟交否关闭时间2014 年 05 月 18 日 星期日 23:55输入字符串 s 和 t(串长不超过 80 个字符),将在字符串 s 中出现,但未在字符串 t 中出现的字符组成一个新的字符串放 在 u 中,u 中字符按原字符串中字符顺序排列,不去掉重复字符,输出 u。 例如:当 s=&112345&,t=&2467&时,u=&1135&。 测试输入 输入:第一行为串 s 期待的输出 第二行为串 t 时间限制 输出: 内存限制 串u 额外进程测试用例 1 1. 2. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 67?1.1135?1秒64M0#include&stdio.h& #include&string.h& int main() {char s[800],t[800];static int a[500]={0};int i,k,m,n; gets(s);gets(t); m=strlen(s);n=strlen(t); for(i=0;i&=n-1;i++) {k=t[i];a[k]=1;} for(i=0;i&=m-1;i++) {k=s[i];if(a[k]==0) printf(&%c&,s[i]);} printf(&\n&);return 0;}44. 【字符】自编车号 成绩5开启时间2014 年 04 月 21 日 星期一 14:00折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55允许迟交否关闭时间2014 年 05 月 18 日 星期日 23:552009 年 3 月 9 日起,北京市允许机动车所有人自己编写小汽车的以“京 N”开头的号牌的后 5 位。 自编小汽车号牌的规则如下:号牌号码的最后一位必须为数字,其余四位有且必须有两位为大写英文字母(字母 I、O 不 可用)。例如:京 NAB999,京 NC9D99,京 NE99F9,京 N9GH99,京 N9J9K9,京 N99LM9 等。 输入: 5 位自编号牌 测试输入 输出: 判断自编号牌是否合法 期待的输出 时间限制 内存限制 额外进程测试用例 11.AB999?1.ok.?无限制64M0测试用例 21.C9D99?1.ok.?无限制64M0测试用例 31.E99F9?1.ok.?无限制64M0测试用例 4 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.1.9GH9N?1.no.?无限制64M0#include&stdio.h& int main() {char a[5];int i,j=0,k=0; for(i=0;i&5;i++) scanf(&%c&,&a[i]); if(a[4]&=57&&a[4]&=48) {for(i=0;i&=3;i++) {if(a[i]&=90&&a[i]&=65) {j++;if(a[i]==73||a[i]==79) k++;}} if(j&=2&&k==0) printf(&ok.\n&); else printf(&no.\n&);} else printf(&no.\n&);return 0;}45. 【字符】组成最大数 成绩 5 开启时间 2014 年 04 月 21 日 星期一 14:00折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55 允许迟交否关闭时间2014 年 05 月 18 日 星期日 23:55任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。 输入:自然数 n 输出:各位数字组成的最大数 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. 2. 3. 4. 5. 6. 7.1.1593?1.9531?1秒64M0#include&stdio.h& #include&string.h& int main() {char a[10000];int x[10]={0};scanf(&%s&,a);int n=strlen(a); for(int i=0;i&n;i++) x[a[i]-'0']++; for(int i=9;i&=0;i--) for(int j=0;j&x[i];j++) printf(&%d&,i);printf(&\n&);return 0;}46. 【中学】科学记数法 成绩 5 开启时间 2014 年 04 月 21 日 星期一 14:00折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55允许迟交否关闭时间2014 年 05 月 18 日 星期日 23:55对于非常大或者非常小的数据,我们通常用科学记数法来表示。例如在科技文献和电脑中经常遇到的 2.3× 106 (计算机中 的科学记数法表示为:2.3E6),或者 9.18× 10-5 (科学记树法表示:9.18E-5)这种类型的数据。 输入: 用科学记数法表示的数据。即为符合 C 语言表示的科学记数法表示。 输出: 该数据的双精度表示说明: 输入数据的精度不高于小数点后 50 位。 输入数据时,在实数和幂之间有空格进行分隔,空格个数不定。 结果保留到小数点后 8 位,如不足 8 位用 0 补足,超过 8 位则截断,不进行四舍五入的处理。 时 间 限 制 额 外 进 程测试输入期待的输出内存 限制测试 用例 11.1.2345 E 3?1.0?1秒64M0测试1.1.2345 e-3?1.0.?1秒64M0 测试输入期待的输出时 间 限 制内存 限制额 外 进 程用例 2 测试 用例 3 测试 用例 4 测试 用例 6 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 1. 2.89 e 20? 1. 秒 64M 01.1 E 0?1.1.?1秒64M01.2.4567890 E 1?1.22.?1秒64M0#include&stdio.h& #include&string.h& int main() {char a[100],b[100];int i,j,s,q,x; gets(a);x=strlen(a); for( s=0,q=1,x-- ; '0'&=a[x] && a[x]&='9' ; x--, q*=10 ) s=s+(a[x]-'0')*q; if( a[x]=='-' ) s=-s; for( i=j=0; a[i]!=' '; i++ ) {if( a[i]&='9' && a[i]&='0' ) {b[j]=a[i];j++;}} if(s&=0) {for( i=s; i&=s+8; i++) {if(i&0) printf(&0&); if(i&=0&&i&j) printf(&%c&,b[i]); if(i==s) printf(&.&); if(i&=j) printf(&0&);} printf(&\n&);} if(s&0) {for( i=0; i&=s+8; i++ ) {if(i&j) printf(&%c&,b[i]); if(i&=j) printf(&0&); if(i==s) printf(&.&);} printf(&\n&);}return 0;}47. 【日期】黑色星期五 成绩5开启时间2014 年 04 月 21 日 星期一 14:00折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55允许迟交是关闭时间2014 年 05 月 18 日 星期日 23:55在西方,星期五和数字 13 都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的十三日又 恰逢星期五就叫“黑色星期五”。 输入: 年份 输出: 测试输入 判断该年是否包含黑色星期五,如包含,给出具体日期 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. . 3. 4. There are 2 Black Fridays in year 2006.? They are:? ? ?1秒64M01. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.#include&stdio.h& int main() {int i,n=0,year,month[12]={0}; int a[13]={0,13,44,73,104,134,165,195,226,257,287,318,348}; int b[13]={0,13,44,72,103,133,164,194,225,256,286,317,347}; scanf(&%d&,&year); for(i=1;i&13;i++) {if ((year%4==0 && year%100!=0)||year%400==0) { if((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+a[i])%7==5) {n++;month[n]=i;}} else if((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+b[i])%7==5) {n++;month[n]=i;}} if(n==1) {printf(&There is %d Black Friday in year %d.\n&,n,year); printf(&It is:\n&);printf(&%d/%d/13\n&,year,month[1]);} else {printf(&There are %d Black Fridays in year %d.\n&,n,year); printf(&They are:\n&); for (i=1;i&=n;i++) {printf(&%d/%d/13\n&,year,month[i]);}} return 0;}48. 【日期】再算天数 成绩 5 开启时间 2014 年 04 月 21 日 星期一 14:00 折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55允许迟交否关闭时间2014 年 05 月 18 日 星期日 23:55我们再来计算天数(两个日期之间相差几天)。 本次编程与过去的程序不一样,我们已经给出了一些子函数,请你将这些函数用起来,然后编写主函数来完成所需要的功 能。 输入: 起始日期的年,月,日 终止日期的年,月,日 (假设终止日期大于起始日期) 注意:不用提交完整程序,只需要提交你自己编写的主函数即可。输出: 终止日期与起始日期之间的天数 预设代码前置代码 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ #include &stdio.h& // 声明函数原型 int leap_year( int ); int year_days( int ); int days(int,int,int); int leap_year( int year ) // 判断闰年或平年 { return ( (year%4==0 && year%100!=0) || year%400==0 ) ? 1 : 0; } int year_days(int year) // 计算一整年的天数 { return leap_year( year ) ? 366 : 365; } int days( int year, int month, int day ) // 计算该天 month,day 是本年 year 的第几天 { int months[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}, if ( leap_year( year ) && month &2 ) day++; for ( i=1; i& i++ ) day += months[i]; } /*********************************** int main() { This function is waiting for you. return 0; } ***********************************/ /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ 测试输入 期待的输出 时间限制 内存限制 额外进程 测试输入期待的输出时间限制内存限制额外进程测试用例 1 1. 2. ? ?1.10 days?无限制64M0测试用例 2 1. 2. ? ?1.2 days?无限制64M0测试用例 3 1. 2. 1. 2. 3. 4. 5. 6. 7. ? ?1.366 days?无限制64M0int main() {int y1,m1,d1,y2,m2,d2,i,d=0; scanf(&%d%d%d%d%d%d&,&y1,&m1,&d1,&y2,&m2,&d2); for (i=y1;i&y2;i++) d+=year_days(i); d+=days(y2,m2,d2)-days(y1,m1,d1); printf(&%d days\n&,d); return 0;}H8:【日期】身份证的奥秘(选做) 成绩 5 开启时间 2014 年 04 月 21 日 星期一 14:00折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55允许迟交是关闭时间2014 年 05 月 18 日 星期日 23:55背景:18 位身份证标准在国家质量技术监督局于 1999 年 7 月 1 日实施的 GB《公民身份号码》中做了明确的 规定。 GB《公民身份号码》为 GB《社会保障号码》的修订版,其中指出将原标准名称&社会保障 号码&更名为&公民身份号码&,另外 GB《公民身份号码》从实施之日起代替 GB。GB《公 民身份号码》主要内容如下: 一、范围 该标准规定了公民身份号码的编码对象、号码的结构和表现形式,使每个编码对象获得一个唯一的、不变的法 定号码。 二、编码对象 公民身份号码的编码对象是具有中华人民共和国国籍的公民。 三、号码的结构和表示形式 1、号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位 数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。 2、地址码 表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按 GB/T2260 的规定执行。 3、出生日期码 表示编码对象出生的年、月、日,按 GB/T7408 的规定执行,年、月、日代码之间不用分隔符。 4、顺序码 表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给 男性,偶数分配给女性。 5、校验码 (1)十七位数字本体码加权求和公式 S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前 17 位数字的权求和 Ai: 表示第 i 位置上的身份证号码数字值 Wi: 表示第 i 位置上的加权因子 Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 (2)计算模 Y = mod(S, 11) (3)通过模得到对应的校验码 Y: 0 1 2 3 4 5 6 7 8 9 10 校验码: 1 0 X 9 8 7 6 5 4 3 2 四、举例如下: 北京市朝阳区: 31002X 广东省汕头市:
位的身份证号升级办法:15 位的身份证号:dddddd yymmdd xx p 18 位的身份证号:dddddd yyyymmdd xx p y 其中 dddddd 为地址码(省地县三级) yyyymmdd yymmdd 为出生年月日 xx 顺号类编码 p 性别 15 位的 yy 年升为 18 位后, 变成 19yy 年, 但对于百岁以上老人, 则为 18yy 年, 此时, 他们的最后三位顺序码为 996, 997, 998 或 999 来标记。 输入 输入 n 组身份证号码,第一行为个数,以后每行为身份证号码。 输出 如果输入的身份证号码为 15 位,则将其升级为 18 位后显示输出;否则判断其是否为合法身份证号,并逐行输出。 测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 4? 002X? 002? 996? 1. 2. 3. 4. Invalid? Valid? 31002X? 319965?1秒64M0#include &stdio.h& #include &string.h& char ans(char x[20]) { int i,y; int d[20]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,0,0,0}; char e[11]={'1','0','X','9','8','7','6','5','4','3','2'}; y=0; for (i=0;i&=16;i++) {y=y+(x[i]-48)*d[i];y=y%11;} y=y%11;return e[y]; } int main(void) { int i,n,m,j;char a[1000],b[20];scanf(&%d&,&m); for (i=1;i&=m;i++) {scanf(&%s&,&a);n=strlen(a); if ((n!=15)&&(n!=18)) {printf(&Invalid\n&);} if (n==15) { for (j=0;j&=5;j++) b[j]=a[j]; if (a[12]=='9'&&a[13]=='9'&&(a[14]=='6'||a[14]=='7'||a[14]=='8'||a[14]=='9')) {b[6]='1';b[7]='8';} else {b[6]='1';b[7]='9';} for (j=8;j&=16;j++) b[j]=a[j-2]; b[17]=ans(b);b[18]='\0'; printf(&%s\n&,b);} else if (a[17]==ans(a)) printf(&Valid\n&); else printf(&Invalid\n&); } return 0; } H9:五年级小学生的题目(选做) 成绩 5 开启时间 2014 年 04 月 20 日 星期日 14:00折扣0.8折扣时间2014 年 05 月 11 日 星期日 23:55允许迟交否关闭时间2014 年 05 月 18 日 星期日 23:55那两个小朋友在不断进步,他们已经学会了负数和多位数,于是他们又开始进行游戏了。小明给出一堆整数和运算要求 (+、-、*、/、%),小丽要找出这些整数中的最大值和最小值,然后按照小明的要求算出最大数与最小数进行算术运算 的结果。 输入: 用逗号分隔的整数序列,及其运算符和等号 输出: 最大数 op 最小数=结果说明:本题目应该可以不使用数组就可以

我要回帖

更多关于 小程序声明变量 的文章

 

随机推荐