c,c++程序设计教程龚沛曾实验六答案

上传人:M****1 文档编号:561062263 上传时间:2023-12-03 格式:DOC 页数:6 大小:55KB
返回 下载 相关 举报
c,c++程序设计教程龚沛曾实验六答案_第1页
第1页 / 共6页
c,c++程序设计教程龚沛曾实验六答案_第2页
第2页 / 共6页
c,c++程序设计教程龚沛曾实验六答案_第3页
第3页 / 共6页
c,c++程序设计教程龚沛曾实验六答案_第4页
第4页 / 共6页
c,c++程序设计教程龚沛曾实验六答案_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《c,c++程序设计教程龚沛曾实验六答案》由会员分享,可在线阅读,更多相关《c,c++程序设计教程龚沛曾实验六答案(6页珍藏版)》请在金锄头文库上搜索。

1、1编一判断 m 是否为素数的函数,并在主函数中利用它输出十对最小的孪生素数。所 谓孪生素数是指两个相差为 2 的素数,如 3 和 5,11 和 13。输出形式如图 2.6.1。函数形式为: bool isprime(int m);#include iostream.hint isprime(int m)/判别m是否为质数 int i;for(i=2;m%i!=0;i+);return (i=m);void main()int x,count=0;x=2;while(1) if(isprime(x)&isprime(x+2)count+;cout(x,x+2)=10)break;x+;2. 编一

2、函数,功能为构造正整数 x 的逆序数。再编一主函数,输出 10 个大于 10000 的最小的回文数。回文数是指顺读和倒读都相同的数,如5、151、3553 等。函数形式为: int reverse (int x);#includeiostream.h#includestdlib.h#includetime.hint f(int a) int b,c=0;while(a!=0)b=a%10;c=c*10+b;a/=10;return c;void main() int x,i,k=0,t; bool tag=true; srand(time(NULL);for(x=10000;k10;x+)if

3、(f(x)=x)coutxendl;k+;if(k=10)break; 1,否则返回 0。回在主函数中对输入的3编一函数,功能为判断一字符串是否为回文,如果是回文则返回 文是指顺读和倒读都一样的字符串,如“deed”和“ level ”是回文。字符串加以调用。函数形式为: int huiwen(char s);#include #include #include int huiwen(char s)int i,n=0;原来的字符串保留在 s1 中求字符串长度构造逆序的字符串char ch,s180; strcpy(s1,s); / while(sn)n+; / for(i=0;in/2;i+)

4、 / ch=si; si=sn-i-1; sn-i-1=ch; if(strcmp(s1,s)=0)return 1;elsereturn 0;void main() char s80; int i,count=0;cout 输入 5 个字符串: endl; for(i=0;i5;i+) gets(s);if(huiwen(s)count+; cout 回文个数: countendl;4函数的功能是将学生成绩从高分到低分排序,并统计优秀与不及格的人数。用下面 两种方法实现:( 1)函数形式为: int fun(int s,int n,int *x);要求优秀人数通过 return 返回,不及格

5、人数通过指针参数返回结果。( 2)函数形式为: void fun(int s,int n,int &x,int &y);要求优秀与不及格的人数通过引用参数返回结果。 分别编二个程序,学生数从键盘输入。方法一:#include #define N 10int fun(int a,int n,int *x)int i,j,k;*x=0;for(i=0;in-1;i+)k=i;for(j=i+1;jak) k=j;if(k!=i)int t=ak; ak=ai; ai=t; for(i=0;i=60)*x=*x+1; return(n-*x);void main()int aN,i,n,pass,n

6、pass;cinn; for(i=0;iai;npass=fun(a,n,&pass); coutpass=pass,npass=npassendl; cout 成绩由高到低依次为: n;for(i=0;in;i+) coutaiendl;方法 2:#include #define N 10void fun(int a,int n,int &x,int &y)int i,j,k;x=0;for(i=0;in-1;i+)k=i;for(j=i+1;jak)k=j;if(k!=i)int t=ak; ak=ai; ai=t;for(i=0;i=60)x=x+1;y=n-x;void main()i

7、nt aN,i,n,pass,npass;cinn;for(i=0;iai;fun(a,n,pass,npass); coutpass=pass,npass=npassendl; cout 成绩由高到低依次为: n;for(i=0;in;i+)coutaiendl;5. 编一函数,功能为统计字符串中各个字母(不区分大、小写)出现的频率,同时找 出频率出现最高的字母及次数。 。函数形式为:void freq(char s,int p,char &chmax,int &max)#include iostream.h#include stdio.h#include string.hvoid freq

8、(char s,int p,char &chmax,int &max) for(int i=0;i=a&si=z)psi-a+;i+;max=p0; int k=0;for(i=1;imax) max=pi;k=i;chmax=k+97;void main() int p26,i,max; char s80,chmax;gets(s);freq(s,p,chmax,max);for(i=0;i26;i+)if(pi)coutchar(i+97) piendl;coutchmaxmaxsimax)imax=i;i+;while(simax!=0) /等价于 strupr(&simax);sima

9、x-=32;imax+;return p;void main()char s100;gets(s);coutmax(s)endl;7 编一函数,求级数3 x5 x7 xsx3!5!7!的部分和,当最后一项的值小于eps时结束。设eps的默认值为10-6。函数形式为double fun( double x, double eps=1e-6);#in elude #in clude double fun( double x,double eps=1e-6)int n=1;double t=1,s=0;while(fabs(x/t)1e-6)s=s+x/t;n=n+2;t=-t* n*( n_1);

10、return s;void mai n()double x;cinx;coutfu n( x)e ndl;&编写两个同名的函数,分别求出整型数的两点间距离和浮点型数的两点间距离,调 试成功后,再将其改为用函数模板实现。函数形式为:double dist( int x1, i nt y1, i nt x2, i nt y2);double dist(double x1, double y1, double x2, double y2);#in clude #in clude double dist( int x1,i nt y1,i nt x2,i nt y2)return(sqrt(x1-x2

11、)*(x1-x2)+(y1-y2)*(y1-y2);double dist(double x1,double y1,double x2,double y2)return(sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);void mai n()int x1,x2,y1,y2;double x11,x12,y11,y12;cin x1y1x2y2;cin x11y11x12y12;coutdist 1=dist(x1,y1,x2,y2)e ndl;coutdist2=dist(x11,y11,x12,y12)e ndl;用函数模板来实现:#include #include template double dist(T x1,T y1,T x2,T y2) return(sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);void main()int x1,x2,y1,y2; double x11,x12,y11,y12; cinx1y1x2y2; cinx11y11x12y12; coutdist1=dist(x1,y1,x2,y2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号