




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五次作业:函数1. 自然数的计算编写自己的两个函数,分别求出两个整数的最大公约数和最小的公倍数。编写一个程序,功能是能够由键盘输入两个整数,并能调用自己编写的函数,计算并输出这两个整数的最大公约数和最小公倍数。#include void main()int a,b,c,d;scanf(%d%d,&a,&b);c=ys(a,b);d=bs(a,b);printf(a,b的最小公倍数是%dn最大公约数是%dn,d,c);int ys(int x,int y)int i;for(i=x;i=1;i-) if(x%i=0&y%i=0) return(i);int bs(int x,int y)int i;for(i=x;i=x*y;i+) if(i%x=0&i%y=0) return(i);2. 字符串连接请使用字符数组,编写自己的字符串连接函数。编写一个程序,功能是能够由键盘输入两个字符串,并能调用自己编写的字符串连接函数,输出新的字符串。#include void main()char lj(char x,char y,char z);int i,j;char a100,b100,c200;gets(a);gets(b);lj(a,b,c);for(i=0;istrlen(a)+strlen(b);i+) printf(%c,ci);printf(n);char lj(char x,char y,char z)int i,j;for(i=0;istrlen(x);i+) zi=xi;for(i=strlen(x);i=strlen(x)+strlen(y)-1;i+) zi=yi-strlen(x);3. 三角函数请使用台劳级数编写自己的常用三角近似值计算函数,用于自己程序的调用。台劳级数为: 舍去的值由自己定义一个最小值。请用自己的函数计算下面两个表达式的值,并且与VC+提供的标准函数之间的误差进行比较。请输入结果。l ,()l ,()#include #include void main()float s(float x);float c(float x);float a,b,e,d;a=3.141592/3;d=3.141592/4;b=sqrt(1-c(a)/2);e=2*s(d)*s(d)+s(d)*c(d)-c(d)*c(d);printf(%fn%fn,b,e);float s(float x)int i;float y=0,s=1/x,t=1/2,w;for(i=1;w1e-6|w1e-6|w-1*1e-6;i+)s=x*x*s;t=i*(i+1)*t;w=s/t;y=y+w;w=-1*w;return(y);4. 弦截法解方程用弦截法求解方程f(x)=x3-5x2+16x-80=0的根。要求使用和编写如下的函数:l float f(float x)代表f(x)=x3-5x2+16x-80的值l float xpoint(float x1, float x2) 来求出(x1,f(x1)与 (x2,f(x2)的连线与x轴的交点x坐标;l float root(float x1, float x2)用于求出 (x1,x2)区间的近似根。要求使用的x1与x2的初始值分别为 -10.5 和 20 #includevoid main()float root(float x1,float x2);float x1,x2,x;doscanf(%f%f,&x1,&x2);while(f(x1)*f(x2)0);x=root(x1,x2);printf(the root is %f,x);float f(float x)float y;y=x*x*x-5*x*x+16*x-80;return(y);float xpoint(float x1,float x2)float y;y=(x1*f(x2)-x2*f(x1)/(f(x2)-f(x1);return y;float root(float x1,float x2)float x;dox=xpoint(x1,x2);if(f(x)*f(x1)=1e-6);return(x);5. 最长单词编写一个自己的函数,能够将一个字符串中最长的单词查找出来。编写一个程序,功能是能够由键盘输入一行字符,并能调用自己编写的最长单词查找函数,输出这个单词。 #include void main()char a1000,b10001000;int i,k,f;for(i=0;i1000;i+) scanf(%c,&ai);bkf=longest(a);for(i=0;if;i+) printf(%c,bki);char longest(char a)int i,j,f,k,n,y;char x1000,b10001000;n=strlen(a);if(a0!= ) for(i=0,f=0;in;i+) if(ai= ) break; else b0f=ai; f+; x0=f; else for(i=0,k=0;in;i+) if(ai+1!= ) for(j=i+1,f=0;jn;j+) if(aj= ) break; else bkf=aj;f+; xk=f; k+; y=k; for(k=0;ky;k+) if(xk=Max(x,0,y) return(bkf);int Max(int a, int first, int n) int max; if(first = n-1) return afirst; max = Max(a, first+1, n); if(max afirst) return afirst; else return max;6. 勒让德多项式用递归思想求n阶勒让德多项式的值,该多项式为:#include void main()float p(float x,int n);float x,y;int n;scanf(%f%d,&x,&n);y=p(x,n);printf(%fn,y);float p(float x,int n)float y;if(n=0) return(1);else if(n=1) return(x);else y=(2*n-1)*x-p(x,n-1)-(n-1)*p(x,n-2)/2);return(y); 7. 角夫猜想日本数学家角夫提出了如下的猜想: 任意一个自然数,比如奇数,将其乘以3再加1;如果是偶数将其除以2;反复运算。请大家编写程序,看会出现什么结果?编写程序功能要求能够不停的输入自然数,遇到输入自然数0时,程序结束。如l 输入: 请输入自然数n:30l 输出: 自然数n按照角夫猜想运算规则变化的各次结果:15 46 23 70 35 106 53 160 80 40 20 10 5 16 8 。(直到结果收敛,不再变化)#include void main()int jf(int n);int n,k;do scanf(%d,&n);k=n;jf(n);while(k!=0);int jf(int n)int n1;if(n%2=0) n1=n/2,printf(%d ,n1);else n1=n*3+1,printf(%d ,n1);if(n1!=n) jf(n1);8. 数学黑洞任意一个4位自然数(除4个数字完全一样除外,例如4444、7777等),将组成该数的各位数字重新排列,形成一个最大数和一个最小数,之后两数相减,其差仍然为一个自然数,重复上述运算,你会发现一个神秘数。编写程序功能要求能够不停的输入自然数,遇到输入0时,程序结束。如l 输入: 请输入自然数n: 7754l 输出: 自然数n按照以上运算规则变化的各次规律:(7754,4577,3177) (7731,1377,6534)(6543,3456,3087) (8730,0378,8352) (8532,2358,6174)。(直到结果收敛,不再变化) #include void main()int n,max,min;scanf(%d,&n);sort(n);sort(int n)int a4;int i,j,temp;int max,min;a0=n/1000;a1=n/100-n/1000*10;a2=n/10-n/100*10;a3=n-n/10*10;for(i=0;i3;i+) for(j=i+1;j3;j+) if(aiaj) temp=ai; ai=aj;aj=temp; max=a0*1000+a1*100+a2*10+a3;for(i=0;i3;i+) for(j=i+1;jaj) temp=ai; ai=aj;aj=temp; min=a0*1000+a1*100+a2*10+a3;n=max-min;printf(%d,%d,%d),max,min,n);sort(n);9. 设计递归程序任意给定输入的一个小写英文字符串a1a2a3an-1an (n5)输出:字符串Ana1An-1a2An-2a3A2an-1A1an,其中Ai为ai的大写形式例如,输入aybdx,则递归程序输出XaDyBbYdAx10. 成绩排名期中考试快要结束了,老师需要进行年级成绩排名。排名的规则如下:l 以期中考试的平均成绩为排名依据(满分为100分);l 对学生A,如果一共有K个学生的平均成绩比A的平均成绩高,则学生A的年级排名为K+1;l 如果学生A和学生B的平均成绩相同,则他们的排名相同。要求编写几个函数,分别实现以下的功能:l 函数1:输入10个同学的学号、姓名、平均成绩l 函数2:按平均成绩由大到小的顺序进行排序,学号、姓名也随之调整,并请按照上述规则进行排名l 函数3:输入一个同学的学号,能够用折半查找法找出该同学的姓名、平均成绩、排名等信息编写一个程序来使用验证上述函数。l 输入、输出格式要求:(1) 第一行为一个整数N(1 N 200),表示学生的人数。随后有N行,每行有两个非负整数和字符串描述一个学生的信息,依次为学号、姓名和平均成绩。(2) 随机输入一个同学的学号,请输出这个同学的姓名、平均成绩、排名等信息。如果学号不存在,输出错误提示信息。(3) 输入 学号0000000000 时,程序退出。11. 日历计算请使用已学的知识来编写一个自己的日历计算程序。功能要求任意输入一个日期(年、月、日),请输出该日
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英文护理面试题库及答案
- 银行专项笔试题及答案
- 银行招投标面试题及答案
- 银行游戏笔试题目及答案
- 心脏康复专业试题及答案
- 临床专业面试题及答案
- 职高化妆专业试题及答案
- 钻石专业试题及答案
- 湖北省汉川市金益高级中学2025-2026学年高二上学期9月起点考试历史试卷(含答案)
- 概率论与数理统计、随机过程 第四章随机变量的数字特征
- 1.2 连续分类(课件)数学青岛版二年级上册(新教材)
- 8000字法律毕业论文
- 社工考试真题及答案
- 2025年哈尔滨市呼兰区人民法院公开招聘聘用制书记员、辅警、文员4人考试参考试题及答案解析
- 【2025年】蚌埠市12345政务服务便民热线岗位招聘20名考试笔试试题(含答案)
- 村卫生室标准化建设课件
- 理发店安全知识培训课件
- 《汽车电工与电子技术基础》课件(共七章节)
- 2025-2026学年人教版(2024)初中生物八年级上册(全册)教学设计(附目录)
- 补漏协议书范本
- 《员工质量意识培训》课件
评论
0/150
提交评论