1、华北电力大学c+字符串和函数答案第1题:编写程序,从键盘输入一任意字符串(不包含空格),然后输入所要查找字符。如果存在则输出它在字符串中第一次出现的位置,否则输出NO。样例输入:Hello a样例输出:NO 样例输入:Hello l样例输出: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值之差的绝对值,如果两个字符串完全相同
3、则输出0。 样例输入:abcd abed样例输出:2 样例输入:abcd abcd样例输出: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
4、main()int num=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题:编写两个函数,函数功能分别是:求两个整数的最大公约数和最小公倍数,要求输入输出均在主函数中完成。 样例输入:15 25
6、样例输出: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位则返回0。要求输入输出均在主函数中完成。 样例输入:4647 3 样例输出:6 样例输入:23523 7 样例输出:0 #includeint digit(int num,int k)int b,i=0;dob=num%10;num=num/10;i+;while(num0&i0&i=k) return
7、 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值。 样例输入:-1.5 样例输出:0.00250501 样例输
8、入:5.6 样例输出:31.8957 样例输入:12.5 样例输出:4.06202#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的次数。要求输入输出均在主函数中完成。 样例输入:123114350样例输出:3 1 2 #includeint digit(int num)int b;b=num%10;return b;int main()int l1,l2,l3,n,a;
9、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位数,函数功能是:求整数num的后n-1位,如果num是一位数则返回0,要求输入输出均在主函数中完成。 样例输入:9 样例输出:0 样例输入:6734 样例输出:734 样例输入:1000 样例输出:0 样例输入:10101 样例输出:101 #include#includeint main()int fun(int);int num
10、,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,合并规则是将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
11、+b0*100+b1*10+a1;int main()int a,b,c;cinab;c=fun(a,b);coutcendl;return 0;第8题:求数列的前n项和要求使用函数,函数功能是:计算数列的每一项,n由键盘输入。累加过程和输入输出均在主函数中完成。样例输入:10 样例输出:0.382179#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)的素数。要求使用函数,函数功能是:计算数列的每一项,n由键盘
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1