字符之间的相互转换

1.设计并编制自定义函数chgStr,完成指定功能;而后在main 中调用chgStr 验证其正确性。

2.通过指针参数的使用实现“双向传值”:函数参数为字符指针;调用该函数时,对应实参为一维字符数组名;通过指针参数op 将结果带回到调用函数中去。

实验要求:

编制具有如下原型的函数:

void chgStr(char *ip, char *op);

负责将ip 所指输入串中的各字符按照指定规则进行变换后,存放到由op 指向的输出串中。

即要从头到尾逐字符地对ip 所指向的字符串进行如下处理:

(1)若ip 所指当前字符为字母,则将其改变大小写后存放到结果串op 中。

(2)若ip 所指当前字符是一个数字字符,则将其变换为另一个数字字符后存放到结果串op 中:字符0 变换为字符9,字符1 变换为字符8,字符2 变换为字符7,...,字符9变换为字符0。

(3)若ip 所指当前字符为其他字符,则将该字符复制到结果串op中。

例如:若调用时通过ip 带来的字符串为“Nankai 1918-2004, x+y-5*6/37=? OK!”,则结果字符串op 应为“nANKAI 8081-7995, X+Y-4*3/62=? ok!”。

最后编制主函数,对chgStr 进行调用,以验证其正确性。

 

 

 

 

 

2、实验仪器、设备或软件

计算机一台,vc6.0

二、实验过程(实验步骤、记录、数据、)

#include 

using namespace std;

int k=0;

int main ()

{

void chgStr(char *ip, char *op);

char p[100],q[100],*p1,*p2;

cin.getline(p,100,'\n');

p1=p;

p2=q;

chgStr(p1,p2);

cout<<p2<<endl;

return 0;

}

void chgStr(char *ip, char *op)

{

for(;*ip!='\0';ip++,op++)

{

k++;

if((*ip>='A')&&(*ip<='Z'))

*op=*ip+32;

else if((*ip<='9')&&(*ip>='0'))

*op=105-(*ip);

else if((*ip<='z')&&(*ip>='a'))

*op=*ip-32;

else

*op=*ip;

}

*op='\0';

}

posted on 2012-12-07 23:19  木本  阅读(244)  评论(0编辑  收藏  举报

导航