华北电力大学c++字符串和函数答案.docx

上传人:小飞机 文档编号:3345497 上传时间:2023-03-12 格式:DOCX 页数:11 大小:40.09KB
返回 下载 相关 举报
华北电力大学c++字符串和函数答案.docx_第1页
第1页 / 共11页
华北电力大学c++字符串和函数答案.docx_第2页
第2页 / 共11页
华北电力大学c++字符串和函数答案.docx_第3页
第3页 / 共11页
华北电力大学c++字符串和函数答案.docx_第4页
第4页 / 共11页
华北电力大学c++字符串和函数答案.docx_第5页
第5页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《华北电力大学c++字符串和函数答案.docx》由会员分享,可在线阅读,更多相关《华北电力大学c++字符串和函数答案.docx(11页珍藏版)》请在三一办公上搜索。

1、华北电力大学c+字符串和函数答案第1题: 编写程序,从键盘输入一任意字符串,然后输入所要查找字符。如果存在则输出它在字符串中第一次出现的位置,否则输出NO。 样例输入:Hello a 样例输出:NO 样例输入:Hello l 样例输出:2 #include /#include int main int m=0,p=0; char s50,t; cinst; /cint; while(sp!=0) if(sp=t) m=1;break; else p+; if(m=0) coutNO; else coutp; return 0; 第2题: 编写程序,将一个字符串首尾互换,并与原字符串连接后输出。

2、输入字符串,输出处理后的结果。 样例输入:china 样例输出:chinaanihc #include #include int main char word150,word225; int p=0,e,j; cinword1; strcpy(word2,word1); j=strlen(word2); e=j-1; while(pe) j=word2p;word2p=word2e;word2e=j; p+;e-; strcat(word1,word2); coutword1; return 0; 第3题: 编写程序,输入两个字符串,输出两个字符串中第一个不相同字符的ASCII值之差的绝对值,

3、如果两个字符串完全相同则输出0。 样例输入:abcd abed 样例输出:2 样例输入:abcdabcd 样例输出:0 #include #include int main int p=0,flag=0; char c120,c220; cinc1c2; while(flag=0)&(c1p!=0)&(c2p!=0) if(c1p=c2p) p+=1; else flag=1; if(flag=1) coutabs(c1p-c2p); else cout0; return 0; 第4题: 编写程序,输入字符串,统计英文字母、数字字符及其他字符的个数。 样例输入:abc129+*ABC 样例输出

4、:6 3 3 #include int main intnum=0,word=0,symbol=0,i; char c100; cinc; for(i=0;ci!=0;i+) if(ci=0) num=num+1; else if (ci=a&ci=A&ci=Z) word=word+1; else symbol=symbol+1; coutword num symbol; return 0; 第5题: 在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易地识别。一种简单的加密方法:对给定的一个字符串,把其中的

5、每个英文字母都用其后面第4个字母代替,如果后面不足4个字母,则从a或A重新开始。编写程序,从键盘输入一任意字符串,输出加密后的结果。 样例输入:Hello 样例输出:Lipps #include #include int main char letter100; int i; cinletter; for(i=0;letteri!=0;i+) letteri=letteri+4; if (letteriz&letteriZ&letteri=Z+4) letteri=letteri-26; coutletter; return 0; 第1题: 编写两个函数,函数功能分别是:求两个整数的最大公约数

6、和最小公倍数,要求输入输出均在主函数中完成。 样例输入:15 25 样例输出:5 75 #include intgys(intm,int n) int r; if(mab; c=gys(a,b); d=a*b/c; coutc d; return 0; 第2题: 编写函数digit(num, k),函数功能是:求整数num从右边开始的第k位数字的值,如果num位数不足k位则返回0。要求输入输出均在主函数中完成。 样例输入:4647 3 样例输出:6 样例输入:23523 7 样例输出:0 #include int digit(intnum,int k) intb,i=0; do b=num%1

7、0; num=num/10; i+; while(num0&i0&i=k) return b; else return 0; int main inta,b,n; cinnb; a=digit(n,b); coutaendl; return 0; 第3题: 哥德巴赫猜想指出:任何一个不小于6的偶数都可以表示为两个素数之和。例如:6=3+3 8=3+5 50=3+47。从键盘输入n,输出对应的表达式,要求编写函数判断一个数是否为素数。 样例输入:8 样例输出:8=3+5 #include intsushu(int a) int s=1,i; for(i=1;in; while(in) s=n-i

8、; f=sushu(s); if(f=1) coutn=i+sendl;break; else i=i+2; return 0; 第4题: 有一分段函数如下,编写函数进行计算,在主函数中输入x值,输出y值。 样例输入:-1.5 样例输出:0.00250501 样例输入:5.6 样例输出:31.8957 样例输入:12.5 样例输出:4.06202 #include #include double fdhs(float x) double y; if(x=0) y=sin(x)+1; else if(xx; y=fdhs(x); coutyendl; return 0; 第5题: 编写函数,函数

9、功能是:统计整数n的各位上出现数字1、2、3的次数。要求输入输出均在主函数中完成。 样例输入:123114350 样例输出:3 1 2 #include int digit(intnum) int b; b=num%10; return b; int main int l1,l2,l3,n,a; l1=l2=l3=0; cinn; while(n0) a=digit(n); if(a=1) l1+; if(a=2) l2+; if(a=3) l3+; n=n/10; coutl1 l2 l3endl; return 0; 第6题: 编写函数fun(num),其中num是一个n位数,函数功能是:

10、求整数num的后n-1位,如果num是一位数则返回0,要求输入输出均在主函数中完成。 样例输入:9 样例输出:0 样例输入:6734 样例输出:734 样例输入:1000 样例输出:0 样例输入:10101 样例输出:101 #include #include int main int fun(int); intnum,n; cinnum; n=fun(num); coutn0) n+;num=num/10; if(n=1) return 0; else l=pow(10,n-1); return (i%l); 第7题: 编写函数,函数功能是:将两个两位数的正整数a、b合并成一个整数c,合并规

11、则是将a的十位和个位分别放在c的千位和个位,将b的十位和个位分别放在c的百位和十位。a、b由键盘输入,输入输出均在主函数中完成。 样例输入:45 12 样例输出:4125 #include int fun(inte,int f) int a2,b2; a0=e/10; a1=e%10; b0=f/10; b1=f%10; return a0*1000+b0*100+b1*10+a1; int main inta,b,c; cinab; c=fun(a,b); coutcendl; return 0; 第8题: 求数列的前n项和 要求使用函数,函数功能是:计算数列的每一项,n由键盘输入。累加过程

12、和输入输出均在主函数中完成。 样例输入:10 样例输出:0.382179 #include #include float fun(int n) return pow(-1,n+1)/(n*(n+1); int main inti,n; float s=0; cinn; for(i=1;i=n;i+) s+=fun(i); coutsendl; return 0; 第9题: 求数列 其中分母为n以内的素数。要求使用函数,函数功能是:计算数列的每一项,n由键盘输入。累加过程和输入输出均在主函数中完成。 样例输入:50 样例输出:1.66165 #include #include float fun

13、(int n) return 1.0/n; int main intn,j,k,i; float s=0.5; cinn; for(i=3;i=n;i+) j=2;k=sqrt(i); while(j=k) if(i%j!=0) j+; else break; if(j=k+1) s+=fun(i); coutsendl; return 0; 第10题: 编写程序求给定整数n的“亲密对数”。“亲密对数”是指:若整数a的因子之和为b,而整数b的因子之和为a,则称a和b为一对“亲密对数”。要求使用函数,函数功能是:计算某一个数的因子之和。n由键盘输入,如果存在“亲密对数”则输出该数,否则输出NO。

14、要求输入输出均在主函数中完成。 样例输入:220 样例输出:284 样例输入:8 样例输出:NO #include int main intn,i; int fun(int); cinn; for(i=n/2;i=2*n;i+) if(n=fun(i)&i=fun(n) coutiendl;break; if (n!=fun(i) coutNO; return 0; int fun(int n) inti,sum=1; for(i=2;in;i+) if(n%i=0) sum+=i; return sum; 第11题: 编写两个函数,将n个正整数中的素数按升序排序。函数功能分别是:判断一个数是

15、否为素数,以及对数组进行排序。输入分2行:第一行为n的值,第二行为n个整数。要求输入输出均在主函数中完成。 样例输入:9 9 8 7 6 5 4 3 2 1 样例输出:2 3 5 7 #include int main intsushu(int); void paixu(int ,int); intn,k=0,i; int a100,b100; cinn; for(i=0;iai; if(sushu(ai) bk=ai; k+; paixu(b,k); for(i=0;ik;i+) coutbi ; return 0; intsushu(int a) int s=1,i; for(i=1;i=

16、a;i+) if(a%i=0) s*=i; if(s=a&a!=1) return 1; else return 0; void paixu(intarr,int length) inti,j,z; for(i=0;ilength-1;i+) for(j=i+1;jarrj) z=arri; arri=arrj; arrj=z; 第12题: 编写函数,功能是交换数组中的最大数和最小数的位置,并计算所有数之和。例如数组a有5个元素3、4、1、5、2,将最大数5和最小数1的位置交换后得到3、4、5、1、2,总和为15。程序中用到的主函数为: #include int fun(int ,int);

17、int main int a50,n,i,sum; cinn; for(i=0;iai; sum=fun(a,n); for(i=0;in;i+) coutai ; coutendlsumendl; return 0; int fun(intarr,int n) int max=arr0,min=arr0,mini=0,maxi=0,sum=0,i; for(i=0;in;i+) sum+=arri; if(maxarri) min=arri; mini=i; i=arrmini; arrmini=arrmaxi; arrmaxi=i; return sum; 第13题: 编写程序完成进制转换,要求使用函数,函数功能是:十进制转换为八进制,输入输出均在主函数中完成。 样例输入:125 样例输出:175 #include int r8(int a) int j; j=a%8; return j; int main intn,b100,i=0,l; cinn; while(n0) bi=r8(n); i+; n=n/8; for(l=i-1;l=0;l-) coutbl; return 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号