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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(完整海洋大学c语言20道题上机答案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整海洋大学c语言20道题上机答案.docx

1、完整海洋大学c语言20道题上机答案(完整)中国海洋大学C语言20道题上机答案 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)中国海洋大学C语言20道题上机答案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)中国海洋大学C语言20道题上机答案的全部内容。下面的程序我亲自在考试系统上测试,每个都是满分!!!希

2、望对你有帮助! 1 请编写函数long fun(long int x),功能是:将长整型数x中每一位上为奇数的数依次取出,并逆序构成一个新数返回。例如:程序运行时输入1234567,输出:b=7531.long int y; long int b=0; for(y=x;y0;y=y/10) if((y%10)2=1) b= b10+y10; return b;2 编写函数void fun(char *s,char *t,char *p)将未在字符串s中出现、而在字符串t中出现的字符, 形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。例如: 当s为”12345”,

3、t为”8624677时, p中的字符为: ”867;当s为”good luck,t为”thank you very much”时,输出:”thanyvermint k=0,i,j,x=0,y; for(i=0;istrlen(t);i+)/t y=0; for(j=0;jstrlen(s);j+)/s if(ti=sj)y=1;break; if(y=0) x=0; for(j=0;jk;j+) if(pj=ti) x=1;break; if(x=0 & y=0) pk=ti;k+; pk = 0;3 编写函数int fun(int m),计算并返回满足表达式:1+(1+2)+(1+2+3)+

4、(1+2+3+4)+(1+2+3+n)=m最大的n。例如,当m=10000时,程序输出:n=38.int i,s1=0,s2=0;for(i=1;i+)s1+=i;s2+=s1;if(s2m)break;return(i1);4 编写函数void fun(int *x,int n),它的功能是:删除有n个数据的数组x中所有包含数字6的数据,后续的剩余元素赋值为-1。n为数组长度,规定x中数据都为正数。如程序运行时若输入:122 1461 6234 16 11 663 911 2671 381 6 删除后输出: 122 11 911 381 1 1 1 1 -1 1 int m; int p=0

5、,flag,i,k; for(m=0;m0) if(xm10)=6) flag = 1; break; xm=xm/10; if(flag=0) xp=k; p+; for(i=p;in;i+) xi=1; 5 编写函数long fun(int high,int n),功能是:计算并返回high以内(不包含high)最大的n个素数之和。若不足n个,则到最小素数2为止。例如:若high=100,n=10,则函数的返回值为:732;若high=11,n=10,则函数返回:17。 int i,j,s=0,m=0;for(i=high-1;i=2;i-) for(j=2;ji;j+) if(ij=0)

6、break; if(j=i) m+=1; s+=i; if(m=n)break; return(s);6 请编写函数int fun(int *a,int n),它的功能是:把形参a所指数组中的偶数按原顺序依次存放到a0、a1、a2、中,把奇数从数组中删除,偶数个数通过函数值返回,以1作为有效数据的结束标志。例:若输入:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15,输出:2 4 6 8 10 12 14 n=7int i,j; for(i=0;in;i+) if(ai2!=0) for(j=i;jn1;j+) aj=aj+1; i-; n-; an=1; return

7、n;7给定程序中,函数fun的功能是:有MN二维数组,分别将每一行的最大值与本行的最后一个数据(第N-1列数据)对调,其余数据保持不变。然后按每一行的最大值对二维数据各行降序排序.例如,有右侧数组数据:11 52 43 4 25 22 求最大值并对调后:11 22 43 4 25 5222 33 46 58 16 47 22 33 46 47 16 5883 42 54 26 47 0 0 42 54 26 47 834 5 6 7 8 9 4 5 6 7 8 945 96 17 18 39 2 45 2 17 18 39 96排序后最终输出:45 2 17 18 39 960 42 54 2

8、6 47 8322 33 46 47 16 5811 22 43 4 25 524 5 6 7 8 9int i,j,k,n,max,temp; for(i=0;iM;i+) max=ai0,n=0; for(j=0;jN;j+) if(aijmax) max = aij; n=j; temp = aiN-1; aiN-1 = ain; ain = temp; for(i=0;iaj1N-1) for(k=0;kN;k+) temp = ajk; ajk = aj1k; aj1k = temp; 8。 函数void fun(int x,char p)实现十进制整数x到二进制的转换。转换后的二进

9、制数以字符串的方式放置于p所指向的数组中。如输入13,输出1101,输入13,输出1101。int i; if ( x 0 ) x = x; p = ; p+; i=1; while(xi) i+; pi=0; do i; pi=(x 1) + 0; x=1; while(i);9。20 编写函数int fun(char (*ss)N,int m,char *s),功能是:形参ss指向一个m行N列的二维字符数组,每行存放一个字符串。求出最大的字符串,复制到s所指的字符数组中,然后返回此最大字符串的长度。int i,len; int max = 1; for(i=0;im;i+) len = s

10、trlen(ssi); if(len max ) max=len; strcpy(s,ssi); return max; 10 给定程序中,函数void fun(char s)的功能是:在形参s所指字符串中的每个数字字符 之后插入一个号。 例,形参s所指的字符串为:def35adh3kjsdf7。执行结果为:def3*5*adh3*kjsdf7。int length, i, j; length=strlen(s); for(i=0;ilength;i+) if(si47&si58) for(j =length;ji;j-) sj+1 = sj; si+1=*; length+; 11给定程序中

11、,函数void fun(char s)的功能是:把形参s所指字符串中下标为偶数的字符右移到下一个偶数位置,最右边被移出字符串的字符绕回放到第一个偶数位置,下标为奇数的字符不动(注:字符串的长度大于等于2).例:若输入:abcd123,输出:3badc21int i;char t80; strcpy(t,s); for(i=0;(t+i)!=0;i+) if(i2=0)*(s+i+2)=*(t+i); if(i2=0)s=*(t+i-2); else *s=(t+i-1); (s+i)=0; 12编写函数void fun(char s1,char s2),功能是:对形参s1所指字符串升序排序,并

12、将排序后下标为偶数的字符取出,写入形参s2所指字符数组中,形成一个新串。例如,下面程序若输入:The C Programming Language,输出:LTaegghmnor。(表空格)int i,j,k,n=0;char t;for(i=0;*(s1+i)!=0;i+) n+=1;for(i=0;in1;i+) k=i;for(j=i+1;jn;j+) if(*(s1+j)(s1+k) k=j;if(k!=i) t=s1k;s1k=s1i;s1i=t;for(i=0,j=0;in;i+) if(i%2=0) s2j=s1i;j+;s2j=0;13函数void fun(char s)的功能是

13、:将s所指字符串中ASCII值为奇数的字符删除。 例如,若s所指字符串中的内容为:“ABCDEFG12345,其中字符A的ASCII码值为 奇数、字符1的ASCII码值也为奇数、都应当删除,其它依此类推。 最后s中内容是:“BDF24。 int i,j=0; for(i=0;*(s+i)!=0;i+) if(s+i)2=0) (s+j)=(s+i); j+; (s+j)=0;14请编写一个函数int fun(long int x),它的功能是:判断整数x是否是同构数.若是同构数,函数返回1;否则返回0。所谓“同构数”是指这样的数,它出现在它的平方数的右边.例如:输入整数6,6的平方数是36,6

14、是36中右侧的数,所以6是同构数,输出Yes”.要求x的值不大于10000。long m,a;for(a=10; ;a=10)m=xxa;if(x=m) return(1);if(xx/a=0) return(0);15编写取子字符串函数void fun(char s1,char s2,int m,int n),其作用是将字符数组s2中从第m个字符开始的共n个字符拷贝到数组s1中;若s2中剩余字符不足n个,则取到尾部.程序运行时,当输入”abcd123”、4,3时应输出”d12;当我们输入”abcd123”、4,6时应输出d123。注意,这里是将1作为起始计数。int i,a,b;a=strl

15、en(s2);b=(am+n-1?a:m+n1);for(i=m1;i0;i-) (p+i)=(p+i1); p=k; 18. 编写函数void fun(char *s1,char s2),实现字符串s1与s2的交叉连接,连接后得到的新字符串放在s1中。如输入abc12345,输出a1b2c345,若输入abcde123,则输出a1b2c3de。char *m1=s1,str100=0,i=0; while (*s1&*s2) stri+=*s1+; stri+=s2+; while (*s1) stri+=*s1+; while (*s2) stri+=s2+; strcpy(m1,str)

16、; 19。 传说可以根据两个人的生日来计算其缘分.方法:将两个人的生日各位相加,将得到的数 再一次各位相加,直到其值为一个一位数,此数即代表两个人的缘分. 例如,两个生日为:19820523,19841111,则各位相加:1+9+8+2+5+2+3+1+9+8+4+1+1+1+1得:56; 再5+6得11;再 1+1得2,即为两人的缘分。编写计算缘分程序,两个生日由键盘输入.int i,s=0,c;for(i=0;x!=0y!=0;i+)s+=(x10+y%10); x=x/10; y=y/10;for(i=0,c=0;i+)c+=s10; s=s/10;if(s=0)s=c;if(s=0 &

17、 s=9) return(s);else c=0;20。 m个人围成一圈,1,2,3循环报数,报到3的人退出,并将退出的序号依次存到数组p中,包括最后一个人的序号。到最后只余1人,输出最后留下的是第几号(最初的序号,以1起始)。若m=6,则输出n=1CR 3 6 4 2 5 1;若m=10,则输出n=4 3 6 9 2 7 1 8 5 10 4;若m=100,则输出n=91 3 6 9100 58 91。函数int fun(int n ,int p)实现上述功能,返回n个人中最后余的1人的起始序号,并将退出的序号顺序写入p指向的数组中。int abc=0,i; int index; int people1000; int length=n; int flag = 0; for(i=0;in;i+) peoplei=1; while(length1) for(i=0;in;i+) if(peoplei=1) flag+; if(flag=3) peoplei=0; pabc = i+1; abc+; flag = 0; length = 0; for(i=0;in;i+) if(peoplei=1) index = i; length+; pabc = index+1; return index+1;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1