华北电力大学c++字符串和函数答案_第1页
华北电力大学c++字符串和函数答案_第2页
华北电力大学c++字符串和函数答案_第3页
华北电力大学c++字符串和函数答案_第4页
华北电力大学c++字符串和函数答案_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 1 题:编写程序,从键盘输入一任意字符串(不包含空格) ,然后输入所要查找字符。如果存在则输出它在字符串中第一次出现的位置,否则输出NO。样例输入:Helloa样例输出: NO样例输入:Hellol样例输出:2#include/#includeint 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#includeint 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值之差的绝对值,如果两个字符串完全相同则输出 0。样例输入:a

3、bcdabed样例输出:2样例输入:abcdabcd样例输出:0#include#includeint 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样例输出:6 3 3#includeint main()int num

4、=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 题:在情报传递过程中, 为了防止情报被截获, 往往需要对情报用一定的方式加密, 简单的加密算法虽然不足以完全避免情报被破译, 但仍然能防止情报被轻易地识别。 一种简单的加密方法: 对给定的一个字符串, 把其中的每个英文字母都用其后面第 4 个字母代替, 如果后面不足 4 个

5、字母,则从 a 或 A 重新开始。编写程序,从键盘输入一任意字符串(不包含空格) , 输出加密后的结果。样例输入:Hello样例输出:Lipps#include#includeint 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 int gys(int m,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位则返回0o要求输入输出均在主函数中完成。样例输入: 4647 3样例输出:6样例输入:235237样例输出:0#includeint digit(int num,int k)int b,i=0;dob=num%10;num=num/10;i+;while(num0&i0&i=k)

7、return b;else return 0;int main()int a,b,n;cinnb;a=digit(n,b);couta=6且为偶数),输出对应的表达式,要求编写函数判断一个数是否为素数。样例输入:8样例输出:8=3+5#includeint sushu(int a)int s=1,i;for(i=1;in;while(in)s=n-i;f=sushu(s);if(f=1) coutn=i+sendl;break;else i=i+2;return 0;第 4 题:有一分段函数如下,编写函数进行计算,在主函数中输入 x 值,输出 y 值。样例输入:样例输出:样例输入:样例输出:样

8、例输入:样例输出:#include#includedouble fdhs(float x)double y;if(x=0) y=sin(x)+1;else if(xx;y=fdhs(x);coutyendl;return 0;第 5 题:编写函数,函数功能是:统计整数n 的各位上出现数字1、 2、 3 的次数 。 要求输入输出均在主函数中完成。样例输入:0样例输出:3 1 2#includeint digit(int num)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

9、);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位数,函数功能是:求整数num的后n-1 位,如果num是一位数则返回0,要求输入输出均在主函数中完成。样例输入:9样例输出:0样例输入:6734样例输出:734样例输入:1000样例输出:0样例输入:10101样例输出:101#include#includeint main()int fun(int);int num,n;cinnum;n=fun(num);coutn0)n+;num=num/10

10、;if(n=1) return 0;elsel=pow(10,n-1);return (i%l);第 7 题:编写函数,函数功能是:将两个两位数的正整数a、b合并成一个整数c,合并规则是将a 的十位和个位分别放在c 的千位和个位, 将 b的十位和个位分别放在c 的百位和十位。 a、 b 由键盘输入,输入输出均在主函数中完成。样例输入:45 12样例输出:4125#includeint fun(int e,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()int a,

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

12、项, n 由键盘输入。累加过程和输入输出均在主函数中完成。样例输入: 50样例输出:#include#includefloat fun(int n)return n;int main()int n,j,k,i;float s=;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 的因子 (包括1但不包括自身,下同)之和为b,而整数b的因子之和为a

13、,则称a和b为一对“亲密对数”。要求使用函数,函数功能是:计算某一个数的因子(包括1但不包括自身)之和。 n 由键盘输入,如果存在“亲密对数”则输出该数,否则输出NQ要求输入输出均在主函数中完成。样例输入:220样例输出:284样例输入:8样例输出:NO#include int main()int n,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)int i,sum=1;for(i=2;in;i+)if(n

14、%i=0) sum+=i;return sum;第 11 题:编写两个函数, 将 n 个正整数中的素数按升序排序。 函数功能分别是: 判断一个数是否为素数,以及对数组进行排序。输入分2 行:第一行为 n 的值,第二行为n 个整数。要求输入输出均在主函数中完成。样例输入: 9 9 8 7 6 5 4 3 2 1样例输出: 2 3 5 7#includeint main()int sushu(int);void paixu(int ,int);int n,k=0,i;int a100,b100;cinn;for(i=0;iai;if(sushu(ai)bk=ai; k+;paixu(b,k);fo

15、r(i=0;ik;i+)coutbi ;return 0;int sushu(int a)int s=1,i;for(i=1;i=a;i+)if(a%i=0) s*=i;if(s=a&a!=1)return 1;elsereturn 0;void paixu(int arr,int length)int i,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。程序中用到的主函数为:#includeint fun(int ,int);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(int arr,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;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论