c语言第二次作业pta.doc

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言第二次作业pta 4-1 求单链表结点的阶乘和 (15分) 本题要求实现一个函数,求单链表L结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在int范围内。 函数接口定义: 裁判测试程序样例: 输入样例: 输出样例: { int sum=0,i,N=1; while(L!=NULL) { N=1; for(i=1;ilt;=L-gt;Data;i++) { N=N*i; } sum=sum+N; L=L-gt;Next; } return sum; } 4-2 提桶寻宝 (10分) 给你准备好一个小桶,告诉你一片广袤的天地,随手一指,挖宝去吧~ 说计算机话! 好吧,题目是这样的: 假设一个二维区域内藏有财宝,对于给定的此前寻到的财宝数量以及坐标(x,y),按照以下规则在该位置寻回财宝,并更新财宝数量。 规则: ? ? ? 如果x、y均为奇数,则获得原有三分之一数量的财宝,小数部分忽略不计 如果x、y均为偶数,则获得 5 财宝 如果x、y奇偶性不同,则不获得财宝 注意:财宝数量、坐标x、坐标y都是int类型范围内的非负整数,在同一个位置可以重复寻找并获得财宝。 函数接口定义: 输入样例: 输出样例: { if(x%2==0) { if(y%2==0) { *pBucket=*pBucket+5; return (1); } else return (0); } else { if(y%2!=0) { *pBucket=*pBucket+*pBucket/3; return (1); } else return (0); } } 4-3 递增的整数序列链表的插入 (15分) 本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。 函数接口定义: 输入样例: 输出样例: { List pt1,pt2,pt; if(L-gt;Next==NULL) { pt=(List)malloc(sizeof(List)); pt-gt;Data=X; pt-gt;Next=NULL; L-gt;Next=pt; return L; } pt1=L; pt2=L-gt;Next; while(pt2!=NULLamp;amp;Xgt;=pt2-gt;Data) { pt1=pt2; pt2=pt2-gt;Next; } pt=(List)malloc(sizeof(List)); pt-gt;Data=X; pt-gt;Next=pt2; pt1-gt;Next=pt; return L; } 4-5 函数实现字符串逆序 (15分) 本题要求实现一个字符串逆序的简单函数。 函数接口定义: 输入样例: 输出样例: { // p指向字符串头部 char *s=p; // q指向字符串尾部 char *q = s ; while(*q) q++; q -- ; // 交换并移动指针,直到p和q交叉 while(q gt; s) { char t = *s ; *s++ = *q ; *q-- = t ; } return p ; } 4-6 长整数转化成16进制字符串 (15分) 本题要求实现一个将长整数转化成16进制字符串的简单函数。 函数接口定义: 输入样例1: 输出样例1: 输入样例2: 输出样例2: { char q; static int i=0,j=0; if(xlt;0) { x=-x; *p=#39;-#39;; p++; } q=x%16; if(qlt;10) q=(#39;0#39;+q); else q=(#39;A#39;+q-10);

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档