版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一周作业【练习1】HelloWorld成绩0开启时间2014 年 10 月 21 日星期二08:00折扣0.8折扣时间2014 年 12 月 7 日星期日23:55允许迟交否关闭时间2014 年 12 月 7 日星期日23:55让我们学习用C语言向世界问好。Hello World示例程序最早出现于1972年,由贝尔实验室成员Brian Kernighan撰写的 内部技术文件Introduction to the Language B之中。不久同作者于1974年所撰写的Programming in C: A Tutorial,也延用这个示例。一般来说,这是每一种计算机编程语言中最基本、最简单的
2、程序,亦通常是初学者所编 写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境,以及运行环境是否已经安装妥当。将Hello World”作为第一个示范程序,已经成为编程语言学习的传统。我们在这里继续传统,这也是一种向前辈们致敬的方式之一吧!最早的程序基本是这个样子的:#include int main()printf (Hello world. n);return 0;请模仿上面的程序,看看是否可以通过编译?如果你能通过这个简单的程序,那就让我 们继续完成后面的习题吧。略第二周作业【练习2】学学scanf和printf的用法吧成绩0开启时间2014 年 10 月 21 日星期二08:0
3、0折扣0.8折扣时间2014 年 12 月 7 日星期日23:55允许迟交否关闭时间2014 年 12 月 7 日星期日23:55该如何处理double型的数据:如何定义变量类型?如何使用scanf函数?如果已知圆柱的底面半径r,以及高h,则可计算出圆柱的侧面积s=2nr h,体积2v=nr ho其中n=3.1415926。输入:第一行输入圆柱的底面半径r第二行输入圆柱的高h输出:s=,v=v圆柱的体积要求1.所有变量都定义为双精度类型2.结果精确到小数点后两位。作为练习题目:我们已经给您编写好了大部分的代码,请您自己修改几个地方,完成程序的剩余部分*3分 隔线*#in clude#defi
4、ne PAI 3.1415926int mai n()in t r,h;double s,v;sca nf(%d %d,);s=2*PAI*r*h;v=PAI*r*r*h;prin tf(s=%.2f,v=n,s,);return 0;*3分 隔线*Code:#in clude#defi ne PAI3.1415926int mai n()int r,h;double s,v;scan f(%d %d, &r,&h);s=2*PAI*r*h;v=PAI*r*r*h;prin tf(s=%.2f,v=%.2fn,s,v);return 0;第三周作业1、输出字符的ASCII码成绩
5、10开启时间2014 年 10 月 21 日星期二 10:00折扣0.8 折扣时间2014 年 11 月 5 日 星期三 23:55允许迟交否关闭时间2014 年 11 月 12 日星期三 23:55背景:我们在计算机基础中已经学过:字母在计算机中采用ASCII码进行存储。下面要从键盘上输入任意一个字符,然后输出该字符对应的ASCII码。输入:一个字符输出:该字符对应的ASCII码测试输入期待的输岀测试以文本方式显用例示以乂本方式显示11.A1.The ASCII of测试以乂本方式显用例示以乂本方式显示21.Z1.The ASCII of测试以乂本方式显用例示以乂本方式显示31. 01.Th
6、e ASCII of1 秒 64M01 秒 64M01 秒 64M0character A is 65.内存 额外进01. The ASCII of character + is 43.Code:#in cludeint mai n()char ch;scan f(%c,&ch);prin tf(The ASCII of character %c is %d.,ch,ch); return 0;2、一年级的算术题成绩10开启时间2014 年 10 月 21 日星期二10:00折扣0.8折扣时间2014 年 11 月 5 日星期三23:55允许迟交否关闭时间2014 年 11 月 12
7、日星期三23:55背景:小明上小学一年级了,老师已经教会了他们进行整数的+、-、*、/、%计算,F面老师开始出题,给出一个简单的算术表达式,请小明给出计算结果测试输入测试用例测试用例期待的输出以文本方式显示以文本方式显示1. 1以文本方式显示时间限制(z内存限制额外进64M1. The ASCII of character 1 is 49.以文本方式显示1 秒 64M1. +0输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444输出:分别输出按照整型数据进行+、-、*、/、*之后的运行结果Code#in cludeint mai n()int a, b;char ch
8、= 37;scan f(%d%d,&a,&b);prin tf(%d+%d=%dn,a,b,a + b);prin tf(%d-%d=%dn,a,b,a - b);prin tf(%d*%d=%dn,a,b,a * b);prin tf(%d/%d=%dn,a,b,a / b);prin tf(%d%c%d=%dn,a,ch,b,a % b); return 0;3、判断三角形的形状成绩10开启时间2014 年 10 月 21 日星期二10:00折扣0.8折扣时间2014 年 11 月 5 日星期三23:55期待的输岀时间限制内存限制ffl额外进程测试用例1以文本方式显示64M
9、以文本方式显示1.10 31.10+3=132.10-3=73.10*3=304.10/3=35.10%3=1以文本方式显示以文本方式显示1.11+-3=82.11-3=141.11 -33.11*-3=-334.11/-3=-35.11%-3=264M测试用例21 秒允许迟交否关闭时间2014 年 11 月 12 日星期三23:55要求输入三角型的三条边,判断三角形的形状。假设输入的三边边长均0输入:三角型的3条边的长度(int型)输出:等边三角形:equilateral tria ngle等腰三角形:isoceles tria ngle不构成三角形:non-tria ngle一般三角形:t
10、ria ngle期待的输岀时间限内存限额外进测试输入制制程测试用1 秒64M0以乂本方式显示以乂本方式显示例 11. 2 2 21.equilateral triangle.测试用1 秒64M0以乂本方式显示以乂本方式显示例 21.3 2 21.isoceles triangle.测试用1 秒64M0以乂本方式显示以乂本方式显示例 31.13 11.non-tria ngle.测试用1 秒64M0以乂本方式显示以乂本方式显示例 41.3 4 51.tria ngle.测试用1 秒64M0以乂本方式显示以乂本方式显示例 51.2 3 21.isoceles triangle.测试用1 秒64M0
11、以乂本方式显示以乂本方式显示期待的输岀(z时间限|内存限额外进测试输入(Z)制制O価例 61.2 2 31.isoceles triangle.测试用1 秒64M0以乂本方式显示以乂本方式显示例 71.3 1 11.non-tria ngle.测试用1 秒64M0以乂本方式显示以乂本方式显示例 81.1 1 31.non-tria ngle.测试用1 秒64M0以乂本方式显示以乂本方式显示例 91.5 4 31.tria ngle.测试用1 秒64M0以乂本方式显示以乂本方式显示例 101.4 5 31.tria ngle.Code#in cludeint mai n()int a, b, c
12、;scan f(%d%d%d, &a,&b,&c);if(a + b c & a + c b & b + c a)if(a = b & a = c & b = c)prin tf(equilateral tria ngle.n); return 0;if(a = b | a = c | b = c)prin tf(isoceles tria ngle.n); return 0;prin tf(tria ngle.n);elseprin tf( non-tria ngle.n); return 0;第四周作业1.【中学】计算时钟的夹角成绩1
13、0开启时间2014年10月28日 星期二08:25折扣0.8折扣时间2014年11月12日 星期三08:25允许迟交 否 关闭时间2014年11月19日 星期三08:25背景:钟面上的时针和分针之间的夹角总是在0180 之间(包括 0 和180 )。举例来说,在十二点的时候两针之间的夹角为0,而在六点的时候夹角为 180 ,在三点的时候为 90。本题要解决的是计算12:00 至 V 11:59之间任意一个时间的夹角。输入:每组测试数据包含两个数字:第一个数字代表小时(大于 0 小于等于12),第二个数字代表分(在区间0, 59上)o输出:对应每组测试数据,用常用格式显示时间以及这个时候时针和分
14、针间的最 小夹角,精确到小数点后一位。输出格式如下所示3再看一看,想一想:是否可以不用 if 语句,只使用 printf 函数来简化你的程序?测试输入 B测试以文本方式显示用1. 12 0例1测试以文本方式显示用1. 12 30例2测试以文本方式显示用1. 6 0例期待的输出时间限制内存限制额外进程1640以文本方式显示秒M1. At 12:00 the angle is 0.0 degrees.1640以文本方式显示秒M1. At 12:30 the angle is 165.0 degrees.1640以文本方式显示秒M1. At 6:00 the angle is 180.0 degre
15、es.3期待的输出测试以文本方式显示用1. 3 0例4测试以文本方式显示用1. 3 3例5测试以文本方式显示用1. 3 9例6测以文本方式显示试以文本方式显示1. At 3:00 the angle is 90.0 degrees.以文本方式显示1. At 3:03 the angle is 73.5 degrees.以文本方式显示1. At 3:09 the angle is 40.5 degrees.以文本方式显示时内 额间存 外限限 进制制 程(T(ML1640秒M1640秒M1640秒M1640秒M0测试输入 B期待的输出O时内间存限限制制(?)(用1. 4 01. At 4:00 t
16、he angle is 120.0 degrees.例7测164试以文本方式显示以文本方式显示秒M用1. 5 591. At 5:59 the angle is 174.5 degrees.例8测164试以文本方式显示以文本方式显示秒M用1. 4 201. At 4:20 the angle is 10.0 degrees.例9测164以文本方式显示以文本方式显示试秒M用1.0 01. At 0:00 the angle is 0.0 degrees.例额外进程TJ00测试输入(Z期待的输出 E时间限制(?)内 存限 制(X)额外进程910Code#in cludeint mai n()int
17、 hour, minu te, temp;float an gle, h_an gle, m_an gle;scan f(%d%d,&hour,&min ute);temp = hour;if(hour = 12) temp = 0;h_an gle = temp * 30.0 + minute * 0.5;m_a ngle = mi nute * 6.0;an gle = h_an gle m_a ngle ? h_an gle - m_a ngle : m_a ngle - h_an gle; if(an gle 180.0) an gle = 360.0 - an gle
18、;prin tf(At %d:%02d the an gle is %.1f degrees.n,hour,mi nute,a ngle); return 0;2.【日期】确定母亲节成绩10开启时间2014 年 10 月 28 日 星期二 10:35折扣0.8折扣时间2014 年 11 月 12 日星期三 10:35允许迟交否关闭时间2014 年 11 月 19 日 星期三 10:35母亲节是每年的五月第二个星期天,针对输入的年份,计算该年的哪一天是母亲节输入:年份输出:日期(5月的哪一天)Code:#in cludeint mai n()int year, n, week, total, d
19、ay;scan f(%d, &year);if(year % 4 = 0 & year % 100 != 0) | year % 400 = 0)week = (year + year / 4 + year / 400 - year / 100 - 1) % 7;for(n = 0;n 5; n+)if(n = 0) total = 0;if(n = 1 | n = 3) total += 31;if(n = 2) total += 29;if(n = 4) total += 30;elseweek = (year + year / 4 + year / 400 - year
20、/ 100) % 7;for(n = 0; n 5; n+)if(n = 0) total = 0;if(n = 1 | n = 3) total += 31;if(n = 2) total += 28;if(n = 4) total += 30;week = (week + total) % 7;if (week = 0) week = 7;day = 7 - week + 8;prin tf(%dn,day);return 0;3.【日期】计算星期成绩10开启时间2014 年 10 月 28 日 星期二 10:40折扣0.8折扣时间2014 年 11 月 12 日星期三 10:40允许迟交
21、否关闭时间2014 年 11 月 19 日 星期三 10:40给出任意一个年月日(年1900),现在我们不能只是直接计算,要先判断给出的日期 是否合法,对于非法的日期要给出错误提示信息,合法的日期要再计算是星期几。输入:年 月曰输出:06。星期日用0表示,星期一用1表示,星期二用2表示.星期六用6表示假设年份大于1900。先想一想:我们现在只会使用if语句,该如何建立数学模型?测试输入期待的输岀时间限制内存限制额外进程测试用例1以文本方式显示1.2013 3 11以文本方式显示1. 11 秒64M0测试用例2以文本方式显示1.2013 13 15以文本方式显示1.mon th is error
22、.1 秒64M0测试用例3以文本方式显示1.2013 3 32以文本方式显示1.day is error.1 秒64M0Code:#in cludeint mai n()int year, mon th, day, n, week, total;scan f(%d%d%d, &year, &mon th, &day); if(year = 13 | mon th 1)printf(month is error.n);return 0;if(day 31)pri ntf(day is error. n); retur n 0;break;case 4:case 6:cas
23、e 9:case 11:if(day 30)pri ntf(day is error. n); retur n 0;break;case 2:if(year % 4 = 0 & year % 100 != 0) | year % 400 = 0)if(day 29) printf(day is error.n); return 0;elseif(day 28) printf(day is error.n); return 0;break;if(year % 4 = 0 & year % 100 != 0) | year % 400 = 0)case 3:week = (year
24、 + year / 4 + year / 400 - year / 100 - 1) % 7;for(n = 0;n month; n+)a和n的值。假设a=1500if(n = 0) total = 0;if(n = 1 | n = 3 | n = 5 | n = 7 | n = 8 | n = 10 ) total += 31;if(n = 2) total += 29;if(n = 4 | n = 6 | n = 9 | n = 11) total += 30;elseweek = (year + year / 4 + year / 400 - year / 100) % 7;for(n
25、 = 0; n mon th; n+)if(n = 0) total = 0;if(n = 1 | n = 3 | n = 5 | n = 7 | n = 8 | n = 10 ) total += 31;if(n = 2) total += 28;if(n = 4 | n = 6 | n = 9 | n = 11) total += 30;week = (week + total + day - 1) % 7;prin tf(%dn,week);return 0;4.【中学】求最后3位数值(选做)成绩0开启时间2014 年 10 月 28 日 星期二 10:45折扣0.8折扣时间2014 年
26、 11 月 12 日星期三 10:45允许迟交否关闭时间2014 年 11 月 19 日 星期三 10:45a和n的值。假设a=1500小明在中学会求一个数的n次方了,但计算机还不会,请你来编写一个程序吧。由于 计算机比较 笨”所以我们编写程序的功能不用太强,只要能算出a的n次方的最后3位数就可以了。输入:输出:求a的n次方的最后3位数。提示:再想一想,你的方法对吗?你用的是什么数据类型?测试输入期待的输岀(p时间 限制内存限制额外进程测、*以文本方式显示试用1. 10 0例以文本方式显示1.The last 3 numbers is 1.1 秒64M0测 试用 例2以文本方式显示1. 2 8
27、以文本方式显示1.The last 3 numbers is 256.1 秒64M0测试以文本方式显示用1. 100 10例3以文本方式显示1.The last 3 numbers is 000.1 秒64M0Code:#i nclude int mai n()int a,b,d,c=1;sca nf(%d%d, &a,& b);if(b=0)c=1;for(d=1;d=b;d+)c*=a;c=c%1000;if(c=0)prin tf(The last 3 numbers is 000.n);elseprin tf(The last 3 numbers is %d.,c);r
28、eturn 0;第五周作业1.锻炼身体吧成绩10开启时间2014 年 11 月 4 日星期二 07:50折扣0.8 折扣时间2014 年 11 月 19 日星期三 07:50允许迟交否关闭时间2014 年 11 月 26 日 星期三 07:50题目描述:沫沫,灰灰和渣渣去锻炼身体,如果对他们跑步的距离分别只计整数a、b、c,由于他们身高的差距,造成了av=bv=c,并且渣渣跑了N米之后就再也跑不动了。但是,按照他们事先的约定:只有当c*c=a*a+b*b时,他们的锻炼才有效果。现在他们三个人想知道,如果渣渣的极限N已知,那么有多少种有锻炼效果的跑步方案(即a, b, c有多少种可能的取值)。输
29、入:一个整数N,表示渣渣的体力极限,N = 5000。输出:一个整数,代表他们跑步方案的个数。Hint:对于输入N=5,有方案a=3, b=4, c=5,共一种。Code:#in cludeint mai n()int a = 1,b = 1,c = 1,max nu m,co unt = 0; sca nf(%d,&max num);for(c = 1;c = maxnu m;c+)for(a = 1; a c; a+ )for(b = 1; b c; b+)if(c*c = a*a +b*b)&(a = b) cou nt+;prin tf(%dn,cou nt);retu
30、rn 0;2.寻找特殊偶数成绩10开启时间2014 年 11 月 4 日 星期二 08:00折扣0.8 折扣时间2014 年 11 月 19 日星期三 08:00允许迟交否关闭时间2014 年 11 月 26 日 星期三 08:00背景有一种特殊偶数, 它每一位上的数字都两两不相同。 我们现在需要找出四位数中某一区 间内的这类偶数。输入所要寻找的四位偶数的范围。每组输入有两个数字:第一个数字是最小范围;第二个数 字是最大范围。如果输入遇到o,输入结束。输出列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。Code:#in cludeint mai n()int maxnum, min
31、num, n, g, s, b, q, count = 0;while(1)sca nf(%d%d,&mi nnum,& max nu m);if(minnum = 0 & maxnum = 0) retur n 0;if(mi nn um 999 & minnum 999 & max num = mi nnum)for(n = minnum; n n例如:n=100,当m =14时,满足:1+2+3+4+.+13=91100。输入:n输出:m测试输入期待的输岀时间限制内存限制额外进程测试用例以文本方式显示以文本方式显示1 秒64M011.1001.14
32、Code:#in cludeint mai n()int max, i = 0, sum = 0;scan f(%d,&max);while(sum max)i+;sum += i;prin tf(%dn,i);第六周作业数字正方型成绩10开启时间2014 年 11 月 12 日星期三 05:55折扣0.8 折扣时间2014 年 11 月 26 日 星期三 05:55允许迟交否关闭时间2014 年 12 月 3 日 星期三 05:55这是双重循环的入门题目,大家来看看,你会做吗?输入n的值,输出如下例(n=4)所示的由数字组成的正方型12 3 45 6 7 8910 11 1213 1
33、4 15 16输入:n输出:数字组成的正方型测试输入期待的输岀时间限制1内存限制额外进程L J测试用例 1以文本方式显示1. 1以文本方式显示1. 11 秒64M0测试用例 2以文本方式显示1. 2以文本方式显示1.1 22.3 41 秒64M0测试用例 3以文本方式显示以文本方式显示1 秒64M01.3测试用例 4以文本方式显示1.51.1232.4 563.7 89以文本方式显示1.1 234 52.6789 103.1112 1314 154.16171819205.2122 2324 25Code#in cludeint mai n()int n, x, y, count = 0;sc
34、an f(%d,&n);for(y = 0; y n; y+)for(x = 0; x n; x+)coun t+;prin tf(%3d,cou nt); prin tf(n ”);return 0;空心字符菱形成绩10开启时间2014 年 11 月 13 日星期四06:10折扣0.8折扣时间2014 年 11 月 26 日星期三06:10允许迟交否关闭时间2014 年 12 月 3 日星期三06:10期待的输岀时间限制内存限制额外进程1 秒64M输入:菱型起始字母和菱形的高度。输出:参看测试用例,打印空心的由字符组成的菱形。Code:#in cludeint mai n()int
35、n, i, q, p;char ch;scan f(%c%d, &ch, &n);for(i = 0; i n; i+)for(q = i; q n - 1; q+) printf(” );prin tf(%c,ch + i);for(q = 0; q = 0; i-)for(q = i; q 0; q-)printf();if(q = 1)prin tf(%c,ch + i);prin tf(n ”);return 0;邮票组合成绩10开启时间2014 年 11 月 12 日星期三06:20折扣0.8折扣时间2014 年 11 月 26 日星期三06:20允许迟交否关闭时间2
36、014 年 12 月 3 日星期三06:20背景:我们寄信都要贴邮票, 在邮局有一些小面值的邮票, 通过这些小面值邮票中的一 张或几张的组合,可以满足不同邮件的不同的邮资。现在,邮局有4种不同面值的邮票。在每个信封上最多能贴5张邮票,面值可相同,可不同。输入:四种邮票的面值。输出:用这四种面值组成的邮资最大的从1开始的一个连续的区间。说明:如结果为10,则表明使用4张邮票可组合出1、2、3、4、5、6、7、8、9、10这些邮资。名词解释:邮资:就是你寄东西需要花多少钱。邮票面额:是由国家发行的具有固定价格的花纸片,被称为邮票。如果你寄东西,邮局称了重量,告诉你要240分。这样你就要贴邮票了。如
37、果现在邮局的邮票有面值为80分、50分、20分和10分的四种,你就可以采用不同的组合得到240的邮资,例如:采用3张80分的可以凑出240分;或者24张10分的凑起来240分也 可以。显然不同邮票的组合都可以得到同样一种邮资。测试输入(z期待的输岀 B时间限制内存限制额外进程测试用1 秒64M0以乂本方式显示以乂本方式显示例 11.1 4 12 211.The max is 71.测试用1 秒64M0以乂本方式显示以乂本方式显示例 21.1 3 7 121.The max is 46.Code:#in cludeint mai n()int i5,t3126,n,n 1,n2,n3,n4,te
38、mp = 0;i0 = 0;for(n = 1; n 5; n+)scan f(%d, &in );for(n = 0; n 3126; n+)tn = 0;for(n = 0; n 5; n+)for(n1 = 0; n1 5; n1+)for(n2 = 0; n2 5; n2+)for(n3 = 0; n3 5; n3+)for(n4 = 0; n4 5; n4+)ttemp = in + in1 + in 2 + in 3 + in4; temp+;for(n = 0; n 3124; n+)for(n1 = n; n1 tn1)temp = tn ; tn = tn1;tn1
39、= temp; temp = 0;for(n = 0; n 3125; n+) if(t n tn + 1) temp+;if(temp != tn + 1) break;printf(The max is %d.n,temp - 1); return 0;火锅火锅和火锅(10分)题目内容:众所周知,沫沫以火锅为生。在E8的聚餐活动中,他经常卖萌卖无辜领着大家吃火锅。有一天,沫沫听说学校附近的哺呷哺呷在某现充的赞助下有一个优惠活动,只需30软妹币,对每个客人,它会上N道菜,但是客人只能挑选其中连续上的一些菜。于是他非常兴奋的拉着灰灰和渣渣去吃火锅去啦。沫沫是一个十分挑食的人,所以他对每一道菜都
40、有一个愉快度(当然因为他的挑食,某些事物的愉快度会 是负数)。为了让沫沫能非常愉快的享受这次聚餐,善解人意的灰灰和渣渣决定帮他计算,他们应该怎么选择菜才能 使沫沫最开心地吃完这次聚餐。输入格式:5第一行是一个整数T,(T = 10)表示测试案例的个数对于每个测试案例,第一行是一个整数N,( 1=N = 10000)表示菜的个数接下来的N个数字,第i个数字si表示沫沫对第i道菜的愉快度。(-1000 =si = 1000)PS:由于CF又被血虐掉rating,所以沫沫的起始愉快度是0PPS沫沫完全可能得到一个为负值的愉快值,poor沫沫。输出格式:对于每个样例,输出一个数字,表示沫沫吃完之后愉快
41、度的最大值。HINT:对于56 -1 5 4 -7我们选择6,-1,5,4这四道菜(注意必须是连续的,所以不能跳过-1)做完后请思考,如果N的范围是1=N=100000呢?输入样例:256 -1 5 4 -70 6 -1 1 -6 7 -5输出样例:14时间限制:500ms内存限制:32000kbCode:#i nclude #i nclude #in clude int mai n() int i,j,k,n,t,sum,len,maxi;scan f(%d, &t);while(t-)sca nf(%d, &n);sum=le n=0;maxl=-1001;/maxl小于愉
42、快度可能的最小值while( n-)sca nf(%d,&k);if(maxl0?le n+k:O;if(sumle n)sum=le n;if(maxl0) pri ntf(%dn ”,maxi);else prin tf(%dn,sum);return 0;程序讲解示例:整数排排序成绩0开启时间2014 年 10 月 19 日 星期日 03:15折扣0.8折扣时间2014 年 12 月 31 日星期三 03:15允许迟交 否关闭时间2014 年 12 月 31 日 星期三 03:15有一组整数,要将它们从小到大排序,去掉其中重复的数值。输入:第1行,输入整数N,表明接下来将有N(=
43、100)个整数读入 第2N行,输入N个这个数。输出:排序后的整数(去掉重复的数值)例如:输入:3(回车)7 5 7(回车)输出:5 7(回车)Code:#in cludeint mai n()int n, m, l, i100, temp;scan f(%d,&n);for(m = 0; m n; m+) scan f(%d,&im);for(m = 0; m n - 1; m+) for(l = m + 1; l il)temp = im; im = il;il = temp;prin tf(%d,iO);temp = i0;for(m = 1; m n; m+)if(tem
44、p im)prin tf( %d,im); temp = im;prin tf(n);第八周作业1.单词排序成绩10开启时间2014 年 11 月 27 日 星期四 02:55折扣0.8 折扣时间2014 年 12 月 10 日 星期三 02:55允许迟交否关闭时间2014 年 12 月 17 日 星期三 02:55输入5个单词,将它们按从大到小的顺序排列后输出输入:5个单词输出:排序后的顺序额外进程测试输入期待的输岀时间限制内存限制测试用例以文本方式显示以文本方式显示1 秒64M01.BASIC1.Pascal2.C+2.Fortran3.Pascal3.C+4.C4.C5.Fortra n
45、5.BASIC测试用例以文本方式显示以文本方式显示1 秒64M021.BASIC1.Pascal2.C+2.Fortra n3.C3.C+4.Fortra n4.C5.Pascal5.BASICCode:#in clude#in elude int mai n()char s5100, t100;int i, n;for(i = 0; i 5; i+)scan f(%s,si);for(i = 0; i 4; i+)for(n = i + 1; n 5; n+) if(strcmp(si,s n) 0) strcpy(t,si); strcpy(si,s n); strcpy(s n,t);f
46、or(i = 0; i 5; i+)prin tf(%sn,si);return 0;期待的输出时间限制内存限制 额外进程2.寻找矩阵的鞍点成绩10开启时间2014 年 11 月 27 日 星期四 03:00折扣0.8 折扣时间2014 年 12 月 10 日 星期三 03:00允许迟交否关闭时间2014 年 12 月 17 日 星期三 03:00一 一二维数组中的鞍点,即该位置上的元素是所在行上的最大值,是所在列上的最小值。 二维数组也可能没有鞍点。输入一个二维数组的行数n,列数m,二维数组的诸元素值;输出数组的鞍点,以及鞍 点所在的行列号。输入:第一行为矩阵的行数和列数,从第二行开始,为矩
47、阵本身(假设输入的矩阵只有0和1个鞍点)3 41 3 5 32 3 4 13 2 6 7输出:Point: a12 = 4(下标从0开始)H测试输入期待的输岀时间限制B内存限制D额外进测试用例 1以文本方式显示1.3 42.13533.2 3 4 14.3 2 6 7以文本方式显示1.Poi nt:a12=41 秒64M0测试用例 2以文本方式显示1.3 42.12343.8 4 3 64.9 4 5 1以文本方式显示1.No Point1 秒64M0Code:#in clude#in elude int mai n()int i100100, m, n, x, y, temp, log =
48、0; scan f(%d%d,&m,&n);for(y = 0; y m; y+)for(x = 0; x n; x+)scan f(%d,&iy x);/将每行的最大值放入每行的最后;for(y = 0; y m; y+)temp = 0;for(x = 0; x temp) temp = iyx;iy n = temp;/将每列的最小值放入每列的最后for(x = 0; x n; x+)temp = 0 x7fffffff;for(y = 0; y m; y+)if(iyx temp) temp = iyx;imx = temp;for(y = 0; y m; y+
49、)for(x = 0; x n; x+)if(iyx = imx) & (iyx = iy n)pri ntf(Poi nt:a%d%d=%dn,y,x,iyx);log = 1;if(log = 0) prin tf(No Poi ntn);return 0;3.身份证的奥秘成绩10开启时间2014 年 11 月 27 日 星期四 03:05折扣0.8折扣时间2014 年 12 月 10 日 星期三 03:05允许迟交否关闭时间2014 年 12 月 17 日 星期三 03:05背景18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999公民身份号码中做
50、了明确的规定。GB11643-1999公民身份号码为GB11643-1989社会保障号码的修订版,其中指出将原标准名称社会保障号码更名为公民身份号 码,另外GB11643-1999公民身份号码从实施之日起代替GB11643-1989。GB11643-1999公民身份号码主要内容如下:一、范围该标准规定了公民身份号码的编码对象、号码的结构和表现形式,使每个编码对象获得 一个唯一的、不变的法定号码。二、编码对象公民身份号码的编码对象是具有中华人民共和国国籍的公民。三、号码的结构和表示形式1、号码的结构公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址
51、码,八位数字出生日期码, 三位数字顺序码和一位数字校验码。2、地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行3、出生日期码表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。4、顺序码表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号, 顺序码的奇数分配给男性,偶数分配给女性。5、校验码(1)十七位数字本体码加权求和公式S = Sum(Ai * Wi), i = 0, . , 16,先对前17位数字的权求和Ai:表示第i位置上的身份证号码数字值Wi:表示第i位置上的加权因子Wi: 7 9
52、10 5 8 4 2 1 6 3 7 9 10 5 8 4 2(2)计算模Y = mod(S, 11) Y = 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四、举例如下:北京市朝阳区:X广东省汕头市:415位的身份证号升级办法:15位的身份证号:dddddd yymmdd xx p18位的身份证号:dddddd yyyymmdd xx p yo其中dddddd为地址码(省地县三级)oyyyymmdd yymmdd为出生年月曰oxx顺号类编码op性别15位的yy年升为18位后,变成19yy年,但对于百
53、岁以上老人,则为18yy年,此时,他们的最后三位顺序码为996, 997, 998或999来标记。输入输入n组身份证号码,第一行为个数,以后每行为身份证号码。输出如果输入的身份证号码为15位,则将其升级为18位后显示输出;否则判断其是否为合 法身份证号,并逐行输出。测试输入期待的输岀时 间限 制r内存限 制额 外进 程测 试用 例1以文本方式显示、,、,以文本方式显示1.41.In valid2.12.Valid3.X3.X4.10021秒640MCode:#in clude#in clude int mai n()int n, i, m, j, sumt, y;char s10019, te
54、mp19, t; scan f(%d,&n);for(i = 0; i n; i+) scan f(%s,si);for(i = 0; i n; i+) m = 0; while(sim != 0)m+;if( m != 15 & m != 18)prin tf(I nvalidn ”);if( m = 15)for(j = 0; j 5)temp6 = 1; temp7 = 8;elsetemp6 = 1; temp7 = 9;for(j = 6; j 16; j+)tempj + 2 = sij;strcpy(si,temp);sumt = (si0 - 0) * 7 +
55、(si1- 0) * 9 + (si2 - 0) * 10 + (si3 - 0) * 5 +(si4 - 0) * 8 + (si5 - 0) * 4 + (si6-O) * 2 + (si7-O) * 1 + (si8-O) * 6 + (si9-O) * 3 + (si10-0) * 7+ (si11-0) * 9 + (si12-0) * 10 + (si13-0) * 5 +(si14-0)* 8 + (si15-0) * 4 + (si16-0) * 2;/sumt = atoi(si0) * 7 + atoi(si1) * 9 + atoi(si2) * 10 + atoi(si
56、3) * 5 +atoi(si4)* 8 +atoi(si5) * 4 + atoi(si6) * 2 + atoi(si7) * 1 + atoi(si8) * 6 +atoi(si9) * 3 + atoi(si10) * 7 + atoi(si11) * 9 + atoi(si12) * 10 + atoi(si13) * 5 + atoi(si14)* 8 +atoi(si15) * 4 + atoi(si16) * 2;y = sumt % 11;switch (y)case 0: si17 = 1; break;case 1: si17 = 0; break;case 2: si1
57、7 = X; break;case 3: si17 = 9; break;case 4: si17 = 8; break;case 5: si17 = 7; break;case 6: si17 = 6; break;case 7: si17 = 5; break;case 8: si17 = 4; break;case 9: si17 = 3; break;case 10: si17 = 2; break;si18 = 0:prin tf(%sn,si);if(m = 18)sumt = (siO - 0) * 7 + (si1- 0) * 9 + (si2 - 0) * 10 + (si3
58、 - 0) * 5 +(si4 - 0) * 8 + (si5 - 0) * 4 + (si6-O) * 2 + (si7-O) * 1 + (si8-O)* 6 +(si9-O) * 3 + (si10-0) * 7 + (si11-0) * 9 + (si12-0) * 10 + (si13-0) * 5 +(si14-0)* 8 + (si15-0) * 4 + (si16-0) * 2;y = sumt % 11;switch (y)case 0: t = 1; break;case 1: t = 0; break;case 2: t = X; break;case 3: t = 9;
59、 break;case 4: t = 8; break;case 5: t = 7; break;case 6: t = 6; break;case 7: t = 5; break;case 8: t = 4; break;case 9: t = 3; break;case 10: t = 2; break;if(t = si17)prin tf(Validn);elseprin tf(I nvalidn ”);return 0;4.安全的密码成绩0开启时间2014 年 11 月 27日星期四 03:10折扣0.8折扣时间2014 年 12 月 10日 星期三03:10允许迟交否关闭时间201
60、4 年 12 月 17日 星期三03:10随着电子设备的广泛运用,密码也渐渐融入每个人的生活。保护好密码,不仅关系到个 人隐私,更关系到个人的财产和安全。一个安全的密码,最好由大小写字母、数字或符 号组成。包含越多种类的字符,其安全性就越高。同时密码还需要有一定的长度,通常 至少要由六个以上的字符组成。并不是每个人都喜欢这样复杂的密码,很多人在设置密码的时候,喜欢使用自己的名字或者生日,但这是很大的安全隐患。任务林晓炜正在设计一个网络交易系统,为了保证用户的密码安全,他需要一个程序,判断 用户自己设置的密码是否安全,如果不安全,则给出提示。现在他向你求助,请你帮忙 设计一个程序来解决这个问题。应当按照以下的规则来判断密码是否安全:1.如果密码长度小于6位,则不安全2.如果组成密码的字符只有一类,则不安全3.如果组成密码的字符有两类,则为中度安全4.如果组成密码的字符有三类或以上,则为安全通常,可以认为数字、大写字母、小写字母和其它符号为四类不同的字符。输入输入的第一行是一个整数N,表明后面有多少组密码。随后的N行输入包括N个密码,每个密码的长度均小于20个字符。输出针对每一个密码判
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年消毒员梳理试题及答案
- 2026年食品安全员业务培训熟食围挡防蝇加固试题含答案
- 2026年机动车查验员车辆临时号牌查验测试题及答案
- 2025年阜新市细河区事业单位人员招聘笔试试题及答案详解
- 2026年甘肃省定西市公务员人员招聘笔试备考试题及答案详解
- 2026年通讯设备修理行业现状及趋势分析报告及未来五至十年AI赋能与效率革命
- 2026年烟台市福山区公务员人员招聘考试参考试题及答案详解
- 2026年沈阳市新城子区事业单位人员招聘笔试备考试题及答案详解
- 2026年西乐器制造行业投资评估规划分析报告及未来五至十年产品升级与结构优化
- 2026年新能源技术推广服务行业市场供需分析报告及未来五至十年数据驱动与价值化路径
- 汽车站实名制工作制度
- 2025~2026学年陕西省西安市滨河学校九年级上学期第一次月考物理试卷
- 长江存储在线测评题库
- 大型展会现场安全管理手册
- T∕ZZB 0446-2018 风力发电用电缆固定头
- 电仪部安全培训内容课件
- 2025年优抚医院招聘面试题集及解析
- 2025至2030年中国陶瓷纤维纸行业市场发展现状及投资方向研究报告
- DB42∕T 1714-2021 湖北省海绵城市规划设计规程
- 履约能力及交货进度保证措施
- 2025年咸阳社区专职工作人员招聘真题
评论
0/150
提交评论