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

上传人:b****1 文档编号:327650 上传时间:2022-10-09 格式:DOCX 页数:16 大小:37.35KB
下载 相关 举报
华北电力大学c++字符串和函数答案.docx_第1页
第1页 / 共16页
华北电力大学c++字符串和函数答案.docx_第2页
第2页 / 共16页
华北电力大学c++字符串和函数答案.docx_第3页
第3页 / 共16页
华北电力大学c++字符串和函数答案.docx_第4页
第4页 / 共16页
华北电力大学c++字符串和函数答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

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

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

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

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

第1题:

编写程序,从键盘输入一任意字符串(不包含空格),然后输入所要查找字符。

如果存在则输出它在字符串中第一次出现的位置,否则输出NO。

样例输入:

Helloa

样例输出:

NO

样例输入:

Hellol

样例输出:

2

#include

//#include

intmain()

{

intm=0,p=0;

chars[50],t;

cin>>s>>t;

//cin>>t;

while(s[p]!

='\0')

if(s[p]==t)

{m=1;break;}

elsep++;

if(m==0)cout<<"NO";

elsecout<

return0;

}

第2题:

编写程序,将一个字符串首尾互换,并与原字符串连接后输出。

输入字符串(不包含空格),输出处理后的结果。

样例输入:

china

样例输出:

chinaanihc

#include

#include

intmain()

{

charword1[50],word2[25];

intp=0,e,j;

cin>>word1;

strcpy(word2,word1);

j=strlen(word2);

e=j-1;

while(p

{j=word2[p];word2[p]=word2[e];word2[e]=j;

p++;e--;}

strcat(word1,word2);

cout<

return0;

}

第3题:

编写程序,输入两个字符串(不包含空格),输出两个字符串中第一个不相同字符的ASCII值之差的绝对值,如果两个字符串完全相同则输出0。

样例输入:

abcdabed

样例输出:

2

样例输入:

abcdabcd 

样例输出:

0

#include

#include

intmain()

{

intp=0,flag=0;

charc1[20],c2[20];

cin>>c1>>c2;

while((flag==0)&&(c1[p]!

='\0')&&(c2[p]!

='\0'))

{

if(c1[p]==c2[p])p+=1;

elseflag=1;

}

if(flag==1)cout<

elsecout<<0;

return0;

}

第4题:

编写程序,输入字符串(不包含空格),统计英文字母、数字字符及其他字符的个数。

样例输入:

abc129++*ABC

样例输出:

633 

#include

intmain()

{

intnum=0,word=0,symbol=0,i;

charc[100];

cin>>c;

for(i=0;c[i]!

='\0';i++)

{

if(c[i]<='9'&&c[i]>='0')num=num+1;

elseif(c[i]>='a'&&c[i]<='z'||c[i]>='A'&&c[i]<='Z')word=word+1;

elsesymbol=symbol+1;

}

cout<

return0;

}

第5题:

在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易地识别。

一种简单的加密方法:

对给定的一个字符串,把其中的每个英文字母都用其后面第4个字母代替,如果后面不足4个字母,则从a或A重新开始。

编写程序,从键盘输入一任意字符串(不包含空格),输出加密后的结果。

样例输入:

Hello

样例输出:

Lipps

#include

#include

intmain()

{

charletter[100];

inti;

cin>>letter;

for(i=0;letter[i]!

='\0';i++)

{letter[i]=letter[i]+4;

if(letter[i]>'z'&&letter[i]<='z'+4)letter[i]=letter[i]-26;

elseif(letter[i]>'Z'&&letter[i]<='Z'+4)letter[i]=letter[i]-26;

}

cout<

return0;

}

第1题:

编写两个函数,函数功能分别是:

求两个整数的最大公约数和最小公倍数,要求输入输出均在主函数中完成。

样例输入:

1525

样例输出:

575

#include

intgys(intm,intn)

{intr;

if(m

{r=m;m=n;n=r;}

r=m%n;

while(r!

=0)

{m=n;n=r;r=m%n;}

returnn;}

intmain()

{inta,b,c,d;

cin>>a>>b;

c=gys(a,b);

d=a*b/c;

cout<

return0;}

第2题:

编写函数digit(num,k),函数功能是:

求整数num从右边开始的第k位数字的值,如果num位数不足k位则返回0。

要求输入输出均在主函数中完成。

样例输入:

46473

样例输出:

6

样例输入:

235237

样例输出:

0

#include

intdigit(intnum,intk)

{intb,i=0;

do

{b=num%10;

num=num/10;

i++;}

while(num>0&&i

if(num>0&&i==k)returnb;

elsereturn0;

}

intmain()

{

inta,b,n;

cin>>n>>b;

a=digit(n,b);

cout<

return0;}

第3题:

哥德巴赫猜想指出:

任何一个不小于6的偶数都可以表示为两个素数之和。

例如:

6=3+38=3+5…50=3+47。

从键盘输入n(n>=6且为偶数),输出对应的表达式,要求编写函数判断一个数是否为素数。

样例输入:

8

样例输出:

8=3+5

#include

intsushu(inta)

{ints=1,i;

for(i=1;i<=a;i++)

if(a%i==0)s*=i;

if(s==a&&a!

=1)

return1;

else

return0;

}

intmain()

{

intn,i=3,s,f;

cin>>n;

while(i

{s=n-i;

f=sushu(s);

if(f==1){cout<

elsei=i+2;}

return0;

}

第4题:

有一分段函数如下,编写函数进行计算,在主函数中输入x值,输出y值。

样例输入:

-1.5

样例输出:

0.00250501

样例输入:

5.6

样例输出:

31.8957

样例输入:

12.5

样例输出:

4.06202

#include

#include

doublefdhs(floatx)

{doubley;

if(x<=0)y=sin(x)+1;

elseif(x<10)y=x*x+3/x;

elsey=sqrt(4+x);

returny;

}

intmain()

{

floatx;

doubley;

cin>>x;

y=fdhs(x);

cout<

return0;

}

第5题:

编写函数,函数功能是:

统计整数n的各位上出现数字1、2、3的次数。

要求输

入输出均在主函数中完成。

样例输入:

123114350

样例输出:

312

#include

intdigit(intnum)

{intb;

b=num%10;

returnb;

}

intmain()

{intl1,l2,l3,n,a;

l1=l2=l3=0;

cin>>n;

while(n>0)

{

a=digit(n);

if(a==1)l1++;

if(a==2)l2++;

if(a==3)l3++;

n=n/10;

}

cout<

return0;

}

第6题:

编写函数fun(num),其中num是一个n位数,函数功能是:

求整数num的后n-1位,如果num是一位数则返回0,要求输入输出均在主函数中完成。

样例输入:

9

样例输出:

0

样例输入:

6734

样例输出:

734

样例输入:

1000

样例输出:

0

样例输入:

10101

样例输出:

101

#include

#include

intmain()

{

intfun(int);

intnum,n;

cin>>num;

n=fun(num);

cout<

return0;

}

intfun(intnum)

{

intn=0,i=num,l;

while(num>0)

{n++;num=num/10;}

if(n==1)return0;

else

{l=pow(10,n-1);

return(i%l);}

}

第7题:

编写函数,函数功能是:

将两个两位数的正整数a、b合并成一个整数c,合并规则是将a的十位和个位分别放在c的千位和个位,将b的十位和个位分别放在c的百位和十位。

a、b由键盘输入,输入输出均在主函数中完成。

样例输入:

4512

样例输出:

4125

#include

intfun(inte,intf)

{

inta[2],b[2];

a[0]=e/10;

a[1]=e%10;

b[0]=f/10;

b[1]=f%10;

returna[0]*1000+b[0]*100+b[1]*10+a[1];

}

intmain()

{

inta,b,c;

cin>>a>>b;

c=fun(a,b);

cout<

return0;

}

第8题:

求数列的前n项和 

要求使用函数,函数功能是:

计算数列的每一项,n由键盘输入。

累加过程和输入输出均在主函数中完成。

样例输入:

10

样例输出:

0.382179

#include

#include

floatfun(intn)

{

returnpow(-1,n+1)/(n*(n+1));

}

intmain()

{

inti,n;

floats=0;

cin>>n;

for(i=1;i<=n;i++)

s+=fun(i);

cout<

return0;

}

第9题:

求数列

其中分母为n以内(包括n)的素数。

要求使用函数,函数功能是:

计算数列的每一项,n由键盘

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

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1