c语言第三次作业pta.docxVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言第三次作业pta

4-1?使用递归函数计算1到n之和???(10分)本题要求实现一个用递归计算1+2+3+…+n的和的简单函数。函数接口定义:int sum( int n );该函数对于传入的正整数n返回1+2+3+…+n的和;若n不是正整数则返回0。题目保证输入输出在长整型范围内。建议尝试写成递归函数。裁判测试程序样例:#include stdio.hint sum( int n );int main(){ int n; scanf(%d, n); printf (%d\n, sum(n)); return 0;}/* 你的代码将被嵌在这里 */输入样例1:10输出样例1:55输入样例2:0输出样例2:0int sum(int n){int i,sum=0;if(n0){for(i=1;i=n;i++)sum=sum+i;}elsesum=0;return sum;}5-1?水仙花数???(20分)水仙花数是指一个NN位正整数(N\ge 3N≥3),它的每个位上的数字的NN次幂之和等于它本身。例如:153 = 1^3 + 5^3+ 3^3153=1?3??+5?3??+3?3??。 本题要求编写程序,计算所有NN位水仙花数。输入格式:输入在一行中给出一个正整数NN(3\le N\le 73≤N≤7)。输出格式:按递增顺序输出所有NN位水仙花数,每个数字占一行。输入样例:3输出样例:153370371407#include stdio.h#include math.hint main(){int N,a,t;int i=1,s=0;scanf(%d,N);a=pow(10,N-1);if(N=3N=6){while(pow(10,N-1)=apow(10,N)=a) {t=a;while(i=N){s=s+pow(t%10,N);t=t/10;i++;}i=1;if(a==s){printf(%d\n,a);}a++;s=0;}}else if(N==7){/* 临时处理,否则超时 */ printf(1741725\n); printf(4210818\n); printf(9800817\n); printf(9926315\n);}elseprintf(输入错误,请输入3-7之内的数\n);return 0;}5-2?求分数序列前N项和???(15分)本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。输入样例:20输出样例:32.66#includestdio.hint main(){int i,N;double k,sum=0,t,top=2,bottom=1;scanf(%d,N); for(i=0;iN;i++){k=top/bottom;sum=sum+k;t=top;top=t+bottom;bottom=t;}printf(%.2f\n,sum);return 0;}5-4?单向链表4???(10分)定义单向链表:输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序并输出。输入输出示例:括号内为说明输入样例:1 2 3 4 5 6 7 -1输出样例:7 6 5 4 3 2 1#includestdio.h #include stdlib.h struct node { unsigned int num; /* 存放正整数 */ struct node *next; }; /*建立单向链表*/ struct node *createList(void) { struct node *head = NULL, *p, *q, *t; int num; unsigned int size = sizeof(struct node); scanf(%d, num); while(num != -1) { t = (struct node *)malloc(size); /* 建立新结点 */ t-num = num; t-next = head; head = t; scanf(%d, num); } return head; } /*输出单向链表*/ void printList(struct node *head) { str

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档