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

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-4219336.html】到电脑端继续下载(重复下载不扣费)。

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北理C语言作业及答案2.doc)为本站会员(weiwoduzun)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

北理C语言作业及答案2.doc

1、34 北理工的恶龙成绩: 10 / 折扣: 0.8背景:最近,北理工出现了一只恶龙,它长着很多头,而且还会吐火,它将会把北理工烧成废墟,于是,校长下令召集全校所有勇士杀死这只恶龙。要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能砍一个龙头,龙的每个头大小都不一样,一个勇士只有在身高不小于龙头的直径的情况下才能砍下它。而且勇士们要求,砍下一个龙头必须得到和自己身高厘米数一样的学分。校长想花 最少的学分数杀死恶龙,于是找到你寻求帮助。输入:第一行 龙头数 n , 勇士人数 m ( 1void main()int s=0,t,i,j,m,n,a100,b100,c100;for(i=0;in)pr

2、intf(“bit is doomed!n“);elsefor(i=0;iaj)t=ai,ai=aj,aj=t;for(i=0;ibj)t=bi,bi=bj,bj=t;t=0;for(i=0;iint sum(int m,int n)int i;if(n=m)i=n;elsei=n+sum(m,n-1);return(i);void main()int m,n;scanf(“%d%d“,printf(“The sum from %d to %d is %d.n“,m,n,sum(m,n);H13:安全的密码(选做)成绩: 5 / 折扣 : 0.8随着电子设备的广泛运用,密码也渐渐融入每个人的生

3、活。保护好密码,不仅关系到个人隐私,更关系到个人的财产和安全。一个安全的密码,最好由大小写字母、数字或符号组成。包含越多种类的字符,其安全性就越高。同时密码还需要有一定的长度,通常至少要由六个以上的字符组成。并不是每个人都喜欢这样复杂的密码,很多人在设置密码的时候,喜欢使用自己的名字或者生日,但这是很大的安全隐患。任务林晓炜正在设计一个网络交易系统,为了保证用户的密码安全,他需要一个程序,判断用户自己设置的密码是否安全,如果不安全,则给出提示。现在他向你求助,请你帮忙设计一个程序来解决这个问题。应当按照以下的规则来判断密码是否安全:1. 如果密码长度小于 6 位,则不安全 2. 如果组成密码的

4、字符只有一类,则不安全 3. 如果组成密码的字符有两类,则为中度安全 4. 如果组成密码的字符有三类或以上,则为安全 通常,可以认为数字、大写字母、小写字母和其它符号为四类不同的字符。输入输入的第一行是一个整数 N,表明后面有多少组密码。随后的 N 行输入包括 N 个密码,每个密码的长度均小于 20 个字符。输出针对每一个密码判断并输出它是否安全。对于不安全的密码输出 “Not Safe“,对于中度安全的密码输出 “Medium Safe“,对于安全的密码输出 “Safe“输入样例41234abcdefABC1231#c3Gh输出样例Not SafeNot SafeMediumSafe Saf

5、e测试输入 期待的输出 时间限 制 内存限 制 额外进 程测试用例 1以文本方式显示1. 102. abcDEF3. ABC4. qw5. 6. ABCDEFGHIJKLMNOPQRST7. 123456789012345678908. 1aB9. 1 B10. a X 11. qwe123% strlength=strlen(s); int n4=0,0,0,0; int kind=0,i; if(strlength=0/n=15 char newstr19; int i; for(i=0;i=0)si=c,i+; else if(c=-)sign=1; else if(p void mai

6、n() int n,i; scanf(“%d“, for(i=2;n1;) if(n%i=0) printf(“%dn“,i);n/=i; else i+; 38 回文字符串递归成绩: 5 / 折扣 : 0.8有一种特殊形式的字符串,其正反序相同,被称为“回文字符串” 。例如 LeveL 就是一个回文字符串。输入:字符串输出:Yes 或者 No说明:如输出 Yes,说明输入的字符串是一个回文字符串输出 No,说明输入的字符串不是一个回文字符串请使用递归算法实现。测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1以文本方式显示1. LeveL以文本方式显示1. Yes1 秒 64M

7、0 #include #include int fun(char str,int a,int b) if(stra!=strb) return 0 ; else if(a=b|a+1=b else if(stra=strb) return 1 void main() char str100; scanf(“%s“,str); int n; n=strlen(str); switch(fun(str,0,n-1) case 1:printf(“Yesn“);break; case 0:printf(“Non“);break; 39 求最大公约数 递归成绩: 5 / 折扣 : 0.8请使用递归算法

8、计算正整数 n 和 m 的最大公约数 GCD(n,m)。= m 当 m int gcd(int n,int m) if(m double fun(int n) if(n=1) return 1; if(n%2=0) return fun(n-1)+1.0/n; if(n%2=1) return fun(n-1)-1.0/n; void main() int n,m; scanf(“%d“, if(n=1) printf(“1n“); else printf(“%0.6lfn“,fun(n); 42 子串反向递归成绩: 10 / 折扣: 0.8请编写一个递归函数 reverse(char str

9、, int start, int end ) ,该函数的功能是将串 str 中下标从 start 开始到 end 结束的字符颠倒顺序。假设 start 和 end 都在合理的取值范围。例如: 执行前:str=“0123456“;start=1 ;end=4 执行后:strr=“0432156“ 要求在该函数中不使用新的数组,没有循环。注意:只需要编写递归函数 reverse,系统中已经设置好了 main 函数。预设代码前置代码view plaincopy to clipboardprint?1. /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */

10、2.3. #include 4. int main( ) 5. char str100; 6. int start, end; 7. gets(str); 8. scanf(“%d%d“, 9. reverse( str, start, end ); 10. printf(“%sn“, str); 11. return 0; 12. 13.14. /* PRESET CODE END - NEVER TOUCH CODE ABOVE */ /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */#include int main( ) char str1

11、00;int start, end;gets(str);scanf(“%d%d“, reverse( str, start, end );printf(“%sn“, str);return 0;/* PRESET CODE END - NEVER TOUCH CODE ABOVE */测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1以文本方式显示1. 01234562. 1 4以文本方式显示1. 04321561 秒 64M 0 测试用例 6以文本方式显示1. 01234562. 6 10以文本方式显示1. 01234561 秒 64M 0 测试用例 7以文本方式显示1. 012

12、34562. 0 10以文本方式显示1. 65432101 秒 64M 0 /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */#include int main( ) char str100;int start, end;gets(str);scanf(“%d%d“, reverse( str, start, end );printf(“%sn“, str);return 0;/* PRESET CODE END - NEVER TOUCH CODE ABOVE */void reverse( char str, int start,int end

13、 ) int i=start,j=end,p=0; char temporary; while(strp!=0)p+;if(start=p)j=p-1;for(;i #include #include #include “stdlib.h“void main() int n=0,i=0,j=0,k=0,b=0;char a3500=0;int n1=0,n2=0;char s500=0;int n3=0;int c=0,c1=0;int temp=0;char op;char str1001=0; char *result;scanf(“%d“,result=(char *)malloc(50

14、1*n);/根据输入的 n 申请内存空间*result=0;/*每次循环都要初始化*/for(;in2?n1:n2;/*计算加法*/if(op=+)for(;n1=0n1-,n2-,n3-)temp=a0n1+a1n2-96;temp+=c;if(temp=10)sn3=temp%10+48;c=1;elsesn3=temp+48;c=0;/forwhile(n1=0)temp=a0n1-48;temp+=c;if(temp=10)sn3=48;c=1;elsesn3=temp+48;c=0;n1-;n3-;/while n1while(n2=0)temp=a1n2-48;temp+=c;if

15、(temp=10)sn3=48;c=1;elsesn3=temp+48;c=0;n2-;n3-;/while n2if(c)strcat(result,“1“);strcat(result,s);strcat(result,“n“);/if op/*计算减法*/else /*保证减数大于被减数*如果被减数大于减数,则交换 2 数,并设置变量*/if(strcmp(a0,a1)=0;n1-,n2-,n3-)temp=a0n1-a1n2;temp-=c;if(temp=0)sn3=temp+48;c=0;elsesn3=temp+58;c=1;/forwhile(n1=0)temp=a0n1-48;temp-=c;if(temp=0)sn3=temp+48;c=0;elsesn3=temp+58;c=1;n1-;n3-;if(c1)strcat(result,“-“);/*消除减法结果高位的 0*/j=0;while(sj=48)j+;strcat(result,s+j);strcat(result,“n“);/else op/for iprintf(“%s“,result);getch();

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报