ImageVerifierCode 换一换
格式:DOC , 页数:21 ,大小:270.19KB ,
资源ID:7591373      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7591373.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C语言典型例题.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言典型例题.doc

1、2.寻找特殊偶数 成绩 10 开启时间 2014年11月4日 星期二 08:00 折扣 0.8 折扣时间 2014年11月19日 星期三 08:00 允许迟交 否 关闭时间 2014年11月26日 星期三 08:00 背景 有一种特殊偶数,它每一位上的数字都两两不相同。我们现在需要找出四位数中某一区间内的这类偶数。 输入 所要寻找的四位偶数的范围。每组输入有两个数字:第一个数字是最小范围;第二个数字是最大范围。如果输入遇到0,输入结束。 输出 列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。   测试输入 期待的输出 时间限制 内存限制

2、 额外进程 测试用例 1 以文本方式显示 1. 3000  3020↵ 2. 6040  6090↵ 3. 0 0↵ 以文本方式显示 1. 3012  3014  3016  3018  ↵ 2. counter=4↵ 3. 6042  6048  6052  6054  6058  6072  6074  6078  6082  6084  ↵ 4. counter=10↵ 1秒 64M 0 测试用例 2 以文本方式显示 1. 9  101↵ 2. 87 -1↵ 3. 0 0↵ 以文本方式显示 1. Error↵ 2. Error↵ 1秒

3、 64M 0 Code: #include int main() { int maxnum, minnum, n, g, s, b, q, count = 0; while(1){ scanf("%d%d",&minnum,&maxnum); if(minnum == 0 && maxnum == 0) return 0; if((minnum > 999 && minnum < 10000) && (maxnum > 999 && maxnum < 10000) && (maxnum >= minnum))

4、 { for(n = minnum; n <= maxnum; n++) { if(n % 2 == 0){ q = n / 1000; b = n % 1000 / 100; s = n % 100 / 10; g = n % 10; if(q != b && q != s && q != g && b != s && b != g && s != g) { count++; printf("%d ",n); }

5、 } } printf("\n"); printf("counter=%d\n",count); count = 0; } else printf("Error\n"); } return 0; } 3.求最小 m 值 成绩 10 开启时间 2014年11月4日 星期二 08:05 折扣 0.8 折扣时间 2014年11月19日 星期三 08:05 允许迟交 否 关闭时间 2014年11月26日 星期三 08:05 求满足下列不等式的最小 m。     1 +

6、 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. 100↵ 以文本方式显示 1. 14↵ 1秒 64M 0 Code: #include int main() { int max, i = 0, sum = 0; scanf("%d",&max);

7、 while(sum < max) { i++; sum += i; } printf("%d\n",i); } 邮票组合 成绩 10 开启时间 2014年11月12日 星期三 06:20 折扣 0.8 折扣时间 2014年11月26日 星期三 06:20 允许迟交 否 关闭时间 2014年12月3日 星期三 06:20 背景:         我们寄信都要贴邮票,在邮局有一些小面值的邮票,通过这些小面值邮票中的一张或几张的组合,可以满足不同邮件的不同的邮资。         现在,邮局有4种不

8、同面值的邮票。在每个信封上最多能贴5张邮票,面值可相同,可不同。 输入:         四种邮票的面值。 输出:         用这四种面值组成的邮资最大的从1开始的一个连续的区间。 说明:         如结果为10,则表明使用4张邮票可组合出1、2、3、4、5、6、7、8、9、10这些邮资。 名词解释:         邮资:就是你寄东西需要花多少钱。         邮票面额:是由国家发行的具有固定价格的花纸片,被称为邮票。 如果你寄东西,邮局称了重量,告诉你要240分。这样你就要贴邮票了。如果现在邮局的邮票有面值为80分、50分、20分和10分的四种,你就可以

9、采用不同的组合得到240的邮资,例如:采用3张80分的可以凑出240分;或者24张10分的凑起来240分也可以。显然不同邮票的组合都可以得到同样一种邮资。   测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示 1. 1 4 12 21↵ 以文本方式显示 1. The max is 71.↵ 1秒 64M 0 测试用例 2 以文本方式显示 1. 1 3 7 12↵ 以文本方式显示 1. The max is 46.↵ 1秒 64M 0 Code: #include int main()

10、{ int i[5],t[3126],n,n1,n2,n3,n4,temp = 0; i[0] = 0; for(n = 1; n < 5; n++) scanf("%d",&i[n]); for(n = 0; n < 3126; n++) t[n] = 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;

11、n4 < 5; n4++) { t[temp] = i[n] + i[n1] + i[n2] + i[n3] + i[n4]; temp++; } } } } } for(n = 0; n < 3124; n++) { for(n1 = n; n1 < 3125; n1++) { if(t[n] > t[n1]) { temp = t[n]; t[n] = t[n1]; t[n1] = temp; } } } temp =

12、 0; for(n = 0; n < 3125; n++) { if(t[n] < t[n + 1] ) temp++; if(temp != t[n + 1]) break; } printf("The max is %d.\n",temp - 1); return 0; } 程序讲解示例:整数排排序 成绩 0 开启时间 2014年10月19日 星期日 03:15 折扣 0.8 折扣时间 2014年12月31日 星期三 03:15 允许迟交 否 关闭时间 2014年12月31日 星期三 03:15 有一组整数,

13、要将它们从小到大排序,去掉其中重复的数值。 输入: 第1行,输入整数N,表明接下来将有N(<=100)个整数读入。 第2~N行,输入N个这个数。 输出:排序后的整数(去掉重复的数值) 例如: 输入: 3(回车) 7 5 7(回车) 输出:5 7(回车)   测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示 1. 3↵ 2. 7 5 5↵ 以文本方式显示 1. 5 7↵ 1秒 64M 0 测试用例 2 以文本方式显示 1. 5↵ 2. 1 0 0 2 2↵ 以文本方式显示 1. 0 1 2↵ 1

14、秒 64M 0 Code: #include int main() { int n, m, l, i[100], temp; scanf("%d",&n); for(m = 0; m < n; m++) scanf("%d",&i[m]); for(m = 0; m < n - 1; m++) for(l = m + 1; l < n; l++) { if(i[m] > i[l]) { temp = i[m]; i[m] = i[l]; i[l] = temp; } }

15、 printf("%d",i[0]); temp = i[0]; for(m = 1; m < n; m++) { if(temp < i[m]) { printf(" %d",i[m]); temp = i[m]; } } printf("\n"); } 临时题 1.单词排序 成绩 10 开启时间 2014年11月27日 星期四 02:55 折扣 0.8 折扣时间 2014年12月10日 星期三 02:55 允许迟交 否 关闭时间 2014年12月17日 星期三 02:55 输入 5 个单词,将它们按

16、从大到小的顺序排列后输出。 输入:     5个单词 输出:     排序后的顺序   测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示 1. BASIC↵ 2. C++↵ 3. Pascal↵ 4. C↵ 5. Fortran↵ 以文本方式显示 1. Pascal↵ 2. Fortran↵ 3. C++↵ 4. C↵ 5. BASIC↵ 1秒 64M 0 测试用例 2 以文本方式显示 1. BASIC↵ 2. C++↵ 3. C↵ 4. Fortran↵ 5. Pascal↵ 以文本方式

17、显示 1. Pascal↵ 2. Fortran↵ 3. C++↵ 4. C↵ 5. BASIC↵ 1秒 64M 0 Code: #include #include int main() { char s[5][100], t[100]; int i, n; for(i = 0; i < 5; i++) scanf("%s",s[i]); for(i = 0; i < 4; i++) { for(n = i + 1; n < 5; n++) { if(strcmp(s[i],s[n

18、]) < 0) { strcpy(t,s[i]); strcpy(s[i],s[n]); strcpy(s[n],t); } } } for(i = 0; i < 5; i++) printf("%s\n",s[i]); return 0; } 2.寻找矩阵的鞍点 成绩 10 开启时间 2014年11月27日 星期四 03:00 折扣 0.8 折扣时间 2014年12月10日 星期三 03:00 允许迟交 否 关闭时间 2014年12月17日 星期三 03:00 二维数组中的鞍点,即该位置上的元

19、素是所在行上的最大值,是所在列上的最小值。 二维数组也可能没有鞍点。 输入一个二维数组的行数n,列数m,二维数组的诸元素值;输出数组的鞍点,以及鞍点所在的行列号。 输入:第一行为矩阵的行数和列数,从第二行开始,为矩阵本身(假设输入的矩阵只有0和1个鞍点)     3 4     1 3 5 3     2 3 4 1     3 2 6 7 输出:      Point: a[1][2] == 4   (下标从0开始)   测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示 1. 3 4↵ 2. 1 3 5 3↵ 3. 2

20、 3 4 1↵ 4. 3 2 6 7↵ 以文本方式显示 1. Point:a[1][2]==4↵ 1秒 64M 0 测试用例 2 以文本方式显示 1. 3 4↵ 2. 1 2 3 4↵ 3. 8 4 3 6↵ 4. 9 4 5 1↵ 以文本方式显示 1. No Point↵ 1秒 64M 0 Code: #include #include int main() { int i[100][100], m, n, x, y, temp, log = 0; scanf("%d%d",&m,&n);

21、for(y = 0; y < m; y++) { for(x = 0; x < n; x++) { scanf("%d",&i[y][x]); } } //将每行的最大值放入每行的最后; for(y = 0; y < m; y++) { temp = 0; for(x = 0; x < n; x++) { if(i[y][x] > temp) temp = i[y][x]; } i[y][n] = temp; } //将每列的最小值放入每列的最后 for(x = 0; x < n

22、 x++) { temp = 0x7fffffff; for(y = 0; y < m; y++) { if(i[y][x] < temp) temp = i[y][x]; } i[m][x] = temp; } for(y = 0; y < m; y++) { for(x = 0; x < n; x++) { if((i[y][x] == i[m][x]) && (i[y][x] == i[y][n])) {printf("Point:a[%d][%d]==%d\n",y,x,i[y][

23、x]);log = 1;} } } if(log == 0) printf("No Point\n"); 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《公民身份号码》中做了明确的规定。 GB11643-1999《公民身份号码》为GB11643-1989

24、《社会保障号码》的修订版,其中指出将原标准名称"社会保障号码"更名为"公民身份号码",另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。GB11643-1999《公民身份号码》主要内容如下: 一、范围 该标准规定了公民身份号码的编码对象、号码的结构和表现形式,使每个编码对象获得一个唯一的、不变的法定号码。 二、编码对象 公民身份号码的编码对象是具有中华人民共和国国籍的公民。 三、号码的结构和表示形式 1、号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字

25、顺序码和一位数字校验码。 2、地址码 表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。 3、出生日期码 表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。 4、顺序码 表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。 5、校验码 (1)十七位数字本体码加权求和公式 S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和  Ai: 表示第i位置上的身份证号码数字值  Wi: 表示第i位置上的

26、加权因子  Wi: 7 9 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 四、举例如下: 北京市朝阳区: 11010519491231002X  广东省汕头市: 440524188001010014 15位的身份证号升级办法: 15位的身份证号:dddddd yymmdd xx p 18位的身份证号:dddddd yyyymmdd xx p

27、y o 其中dddddd为地址码(省地县三级) o yyyymmdd yymmdd 为出生年月日 o xx顺号类编码 o p性别 15 位的 yy 年升为 18 位后,变成 19yy年,但对于百岁以上老人, 则为 18yy 年,此时,他们的最后三位顺序码为996, 997, 998 或 999 来标记。 输入 输入n组身份证号码,第一行为个数,以后每行为身份证号码。 输出 如果输入的身份证号码为15位,则将其升级为18位后显示输出;否则判断其是否为合法身份证号,并逐行输出。   测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示

28、 1. 4↵ 2. 350622197904130331↵ 3. 11010519491231002X↵ 4. 110105491231002↵ 5. 110105491231996↵ 以文本方式显示 1. Invalid↵ 2. Valid↵ 3. 11010519491231002X↵ 4. 110105184912319965↵ 1秒 64M 0 Code: #include #include int main() { int n, i, m, j, sumt, y; char s[100][19],

29、temp[19], t; scanf("%d",&n); for(i = 0; i < n; i++) scanf("%s",s[i]); for(i = 0; i < n; i++) { m = 0; while(s[i][m] != '\0') { m++; } if( m != 15 && m != 18) { printf("Invalid\n"); } if( m == 15) { for(j = 0; j < 6; j++) temp[j] = s[i][j];

30、 if(s[i][12] == '9' && s[i][13] == '9' && s[i][14] > '5') { temp[6] = '1'; temp[7] = '8'; } else { temp[6] = '1'; temp[7] = '9'; } for(j = 6; j < 16; j++) temp[j + 2] = s[i][j]; strcpy(s[i],temp); sumt = (s[i][0] - '0') * 7 + (s[i][1]- '0') * 9 + (s[i][

31、2] - '0') * 10 + (s[i][3] - '0') * 5 + (s[i][4] - '0') * 8 + (s[i][5] - '0') * 4 + (s[i][6]-'0') * 2 + (s[i][7]-'0') * 1 + (s[i][8]-'0') * 6 + (s[i][9]-'0') * 3 + (s[i][10]-'0') * 7 + (s[i][11]-'0') * 9 + (s[i][12]-'0') * 10 + (s[i][13]-'0') * 5 + (s[i][14]-'0') * 8 + (s[i][15]-'0') * 4 + (s[i][16]-

32、'0') * 2; //sumt = atoi(s[i][0]) * 7 + atoi(s[i][1]) * 9 + atoi(s[i][2]) * 10 + atoi(s[i][3]) * 5 +atoi(s[i][4]) * 8 + atoi(s[i][5]) * 4 + atoi(s[i][6]) * 2 + atoi(s[i][7]) * 1 + atoi(s[i][8]) * 6 + atoi(s[i][9]) * 3 + atoi(s[i][10]) * 7 + atoi(s[i][11]) * 9 + atoi(s[i][12]) * 10 + atoi(s[i][13]

33、) * 5 + atoi(s[i][14]) * 8 + atoi(s[i][15]) * 4 + atoi(s[i][16]) * 2; y = sumt % 11; switch (y) { case 0: s[i][17] = '1'; break; case 1: s[i][17] = '0'; break; case 2: s[i][17] = 'X'; break; case 3: s[i][17] = '9'; break; case 4: s[i][17] = '8'; break; cas

34、e 5: s[i][17] = '7'; break; case 6: s[i][17] = '6'; break; case 7: s[i][17] = '5'; break; case 8: s[i][17] = '4'; break; case 9: s[i][17] = '3'; break; case 10: s[i][17] = '2'; break; } s[i][18] = '\0'; printf("%s\n",s[i]); } if(m == 18) { sumt = (s[

35、i][0] - '0') * 7 + (s[i][1]- '0') * 9 + (s[i][2] - '0') * 10 + (s[i][3] - '0') * 5 + (s[i][4] - '0') * 8 + (s[i][5] - '0') * 4 + (s[i][6]-'0') * 2 + (s[i][7]-'0') * 1 + (s[i][8]-'0') * 6 + (s[i][9]-'0') * 3 + (s[i][10]-'0') * 7 + (s[i][11]-'0') * 9 + (s[i][12]-'0') * 10 + (s[i][13]-'0') * 5 + (s[i][

36、14]-'0') * 8 + (s[i][15]-'0') * 4 + (s[i][16]-'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'; break; case 4: t = '8'; break; case 5: t = '7'; break; case 6: t = '6'; break;

37、 case 7: t = '5'; break; case 8: t = '4'; break; case 9: t = '3'; break; case 10: t = '2'; break; } if(t == s[i][17]) printf("Valid\n"); else printf("Invalid\n"); } } return 0; } 4.安全的密码(选做) 成绩 0 开启时间 2014年11月27日 星期四 03:10 折扣 0.8 折扣时间 2014年1

38、2月10日 星期三 03:10 允许迟交 否 关闭时间 2014年12月17日 星期三 03:10 随着电子设备的广泛运用,密码也渐渐融入每个人的生活。保护好密码,不仅关系到个人隐私,更关系到个人的财产和安全。一个安全的密码,最好由大小写字母、数字或符号组成。包含越多种类的字符,其安全性就越高。同时密码还需要有一定的长度,通常至少要由六个以上的字符组成。 并不是每个人都喜欢这样复杂的密码,很多人在设置密码的时候,喜欢使用自己的名字或者生日,但这是很大的安全隐患。 任务 林晓炜正在设计一个网络交易系统,为了保证用户的密码安全,他需要一个程序,判断用户自己设置的密码是否安全,如果不

39、安全,则给出提示。现在他向你求助,请你帮忙设计一个程序来解决这个问题。 应当按照以下的规则来判断密码是否安全: 1. 如果密码长度小于 6 位,则不安全 2. 如果组成密码的字符只有一类,则不安全 3. 如果组成密码的字符有两类,则为中度安全 4. 如果组成密码的字符有三类或以上,则为安全 通常,可以认为数字、大写字母、小写字母和其它符号为四类不同的字符。 输入 输入的第一行是一个整数 N,表明后面有多少组密码。随后的 N 行输入包括 N 个密码,每个密码的长度均小于 20 个字符。 输出 针对每一个密码判断并输出它是否安全。对于不安全的密码输出 "Not Safe",对于

40、中度安全的密码输出 "Medium Safe",对于安全的密码输出 "Safe" 输入样例 4 1234 abcdef ABC123 1#c3Gh 输出样例 Not Safe Not Safe Medium Safe Safe   测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示 1. 10↵ 2. abcDEF↵ 3. ABC↵ 4. qw↵ 5. `↵ 6. ABCDEFGHIJKLMNOPQRST↵ 7. 12345678901234567890↵ 8.           1aB↵ 9. 1 B↵

41、 10. a X   ↵ 11. qwe123%^&ABC↵ 以文本方式显示 1. Medium Safe↵ 2. Not Safe↵ 3. Not Safe↵ 4. Not Safe↵ 5. Not Safe↵ 6. Not Safe↵ 7. Safe↵ 8. Not Safe↵ 9. Safe↵ 10. Safe↵ 1秒 64M 0 Code: #include #include int main() { int n, i, j, m, log1, log2, log3, log4; char s[

42、100][21], t[10]; scanf("%d",&n); gets(t); for(i = 0; i < n; i++) gets(s[i]); for(i = 0; i < n; i++) { j = 0; while(s[i][j] != '\0') { j++; } if(j < 6) { printf("Not Safe\n"); continue; } j = 0; log1 = 0; log2 = 0; log3 = 0; log4 = 0;

43、 while(s[i][j] != '\0') { if(s[i][j] >= '0' && s[i][j] <= '9') log1 = 1; if(s[i][j] >= 'a' && s[i][j] <= 'z') log2 = 1; if(s[i][j] >= 'A' && s[i][j] <= 'Z') log3 = 1; if(!(s[i][j] >= '0' && s[i][j] <= '9') && !(s[i][j] >= 'a' && s[i][j] <= 'z') && !(s[i][j] >= 'A' && s[i][j] <= 'Z

44、')) log4 =1; j++; } m = 0; if(log1 == 1) m++; if(log2 == 1) m++; if(log3 == 1) m++; if(log4 == 1) m++; if(m == 1) printf("Not Safe\n"); if(m == 2) printf("Medium Safe\n"); if(m >= 3) printf("Safe\n"); } return 0; } 期中考试测试题 2.回文数 成绩 10 开启时间 2014年11月20日 星期四

45、 02:50 折扣 0.8 折扣时间 2014年12月4日 星期四 02:50 允许迟交 否 关闭时间 2014年12月11日 星期四 02:50 输出所有不超过n(取n<256)的、其平方具有对称性质的正整数(也称为回文数)。 如:  1*1=1; 2*2=4;3*3=9;11*11=121   测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示 1. 3↵ 以文本方式显示 1. 1↵ 2. 2↵ 1秒 64M 0 测试用例 2 以文本方式显示 1. 25↵ 以文本方式显示 1. 1↵ 2.

46、2↵ 3. 3↵ 4. 11↵ 5. 22↵ 6. ↵ 1秒 64M 0 Code: #include int main() { int n, m, square, i, temp, log; char s[6]; scanf("%d",&n); for(m = 1; m < n; m++) { i = 0; square = m * m; log = 1; while(square != 0) { temp = square %

47、10; s[i] = '0' + temp; i++; square /= 10; } for(temp = 0; temp < i / 2; temp++) { if(s[temp] != s[i - 1 - temp]) log = 0; } if(log) printf("%d\n",m); } return 0; } 3.洗牌 成绩 10 开启时间 2014年11月20日 星期四 03:00 折扣 0.8 折扣时间 2014年12

48、月31日 星期三 23:55 允许迟交 否 关闭时间 2014年12月31日 星期三 23:55     假设我们有 2n 张牌,它们以 1, 2, ..., n, n+1, ..., 2n 编号并在开始时保持着这种顺序。一次洗牌就是将牌原来的次序变为 n+1, 1, n+2, 2, ..., 2n, n,也就是将原来的前 n 张牌放到位置 2, 4, ..., 2n,并且将余下的 n 张牌按照他们原来的次序放到奇数位置 1, 3, ..., 2n-1。已经证明对于任何一个自然数 n,这 2n 张牌经过一定次数的洗牌就回到原来的次序。但我们不知道对于一个特定的 n,需要几次洗牌才能将

49、牌洗回原来的次序。 输入:     牌张数的一半n,即初始情况下一共有2n张牌,n为int型整数 输出:     将牌洗回原来的次序所需要的洗牌次数   测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示 1. 10↵ 以文本方式显示 1. 6↵ 1秒 64M 0 测试用例 2 以文本方式显示 1. 20↵ 以文本方式显示 1. 20↵ 1秒 64M 0 Code: #include int main() { int a[10000],tmp1[5000],tmp

50、2[5000], i, m, n = 0, log = 0, total = 0; scanf("%d",&i); // for(m = 0; m < 2* i; m++) a[m] = m; do{ for(m = 0; m < i; m++) { tmp1[m] = a[m]; tmp2[m] = a[m + i]; } n = 0; for(m = 0; m < i; m++) { a[n] = tmp2[m];

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服