C++作业(字符数组及函bb数)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

字符数组

1、编写程序,从键盘输入一任意字符串(不包含空格),然后输入所要查找字符。如果存在则输出它在字符串中第一次出现的位置,否则输出NO。

样例输入:Hello a

样例输出:NO

样例输入:Hello l

样例输出:2

#include

int main( )

{ char str[100],ch; int i,flag=0;

cin>>str>>ch;

for(i=0;str[i]!=0;i++)

if(str[i]==ch){flag=1;break;}

if(flag) cout<

else cout<<"NO";

return 0;

}

2、编写程序,将一个字符串逆序存放,并与原字符串连接后输出。输入字符串(不包含空格),输出处理后的结果。

样例输入:china

样例输出:chinaanihc

#include

#include

int main( )

{ char a[100],b[100]; int i,len=0;

cin>>a;

len=strlen(a);

for(i=0;i

b[i]=a[len-i-1];

b[i]=0; strcat(a,b);

cout<

return 0;

}

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

样例输入:abcd abed

样例输出:2

样例输入:abcd abcd

样例输出:0

#include

#include

int main( )

{ char a[100],b[100]; int i,len=0;

cin>>a>>b;

for(i=0;a[i]!=0||b[i]!=0;i++)

if(a[i]!=b[i])break;

cout<

return 0;

}

4、编写程序,输入字符串(不包含空格),统计英文字母、数字字符及其他字符的个数。样例输入:abc129++*ABC

样例输出:6 3 3

#include

int main( )

{ char str[100]; int i,a=0,b=0,c=0;

cin>>str;

for(i=0;str[i]!=0;i++)

if(str[i]>='a'&&str[i]<='z'|| str[i]>='A'&&str[i]<='Z') a++;

else if(str[i]>='0'&&str[i]<='9') b++;

else c++;

cout<

return 0;

}

5、在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易地识别。一种简单的加密方法:对给定的一个字符串,把其中的每个英文字母都用其后面第4个字母代替,如果后面不足4个字母,则从a或A重新开始。编写程序,从键盘输入一任意字符串(不包含空格),输出加密后的结果。

样例输入:Hello

样例输出:Lipps

#include

int main( )

{ char str[100]; int i;

cin>>str;

for(i=0;str[i]!=0;i++)

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

else if(str[i]>='A'&&str[i]<='Z') str[i]=(str[i]-'A'+4)%26+'A';

cout<

return 0;

}

函数

1、编写两个函数,函数功能分别是:求两个整数的最大公约数和最小公倍数,要求输入输出均在主函数中完成。

样例输入:15 25

样例输出:5 75

#include

int fun1(int a,int b)

{ int i,gys;

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

if(a%i==0&&b%i==0) gys=i;

return gys; }

int fun2(int a,int b)

{ int i;

for(i=a;i<=a*b;i++)

if(i%a==0&&i%b==0) return i; }

int main( )

{ int m,n;

cin>>m>>n;

cout<

return 0;

}

2、编写函数digit(num, k),函数功能是:求整数num从右边开始的第k位数字的值,如果num位数不足k位则返回0。要求输入输出均在主函数中完成。

样例输入:4647 3

样例输出:6

样例输入:23523 7

样例输出:0

#include

int digit(int num,int k)

{ int i,x;

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

{ x=num%10; num=num/10;}

return x; }

int main( )

{ int num, k;

cin>>num>>k;

cout<

return 0;

}

3、哥德巴赫猜想指出:任何一个不小于6的偶数都可以表示为两个素数之和。例如:6=3+3

相关文档
最新文档