- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)