2、g.h>intmain(){voidchangeone(chara[],intk);voidchangelwr(chararr[]);voidchangeuper(chararr[]);31intk;charstr[50];printf("输入一个字符串:");gets(str);k=strlen(str);printf("单词的第一个字母变成大写字母:");changeone(str,k);getchar();printf("字母全部转换为大写:");changeuper(str);getchar();printf("字母全部转换为小写:
3、");changelwr(str);return0;}voidchangeone(chara[],intk){inti;if(a[0]>='a'&&a[0]<='z')a[0]=a[0]-32;for(i=1;i='a'&&a[i+1]<='z')a[i+1]=a[i+1]-32;}puts(a);}voidchangeuper(chararr[]){strupr(arr);puts(arr);}voidchangelwr(chararr[]){strlwr(arr);puts(arr);
4、}运行结果展示312、编写将a所指字符串中的字符按逆序存放,然后和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为"abcdefg",b所指字符串中的内容为"1234"时,c所指数组中的内容应该为"g1f2e3d4cba";而当a所指字符串中的内容为"1234",b所指字符串中的内容为"abcdefg"时,c所指数组中的内容应该为"4a3b2c1defg"。程序代码:#include#include31intmain(){voidexcha
5、nge(char*a,char*b,charc[40],intm,intn);inti,j;charstr1[20],str2[20],c[40]={'0'},*a,*b;printf("输入字符串a:");gets(str1);a=str1;i=strlen(str1);printf("输入字符串b:");gets(str2);b=str2;j=strlen(str2);exchange(a,b,c,i,j);return0;}voidexchange(char*a,char*b,charc[40],intm,intn){inti,j,tem
6、p;for(i=0;i<=m/2;i++){31temp=*(a+i);*(a+i)=*(a+(m-i-1));*(a+(m-i-1))=temp;}if(m>=n){for(i=0,j=0;i<2*n;j++,i++,i++){c[i]=*(a+j);c[i+1]=*(b+j);}for(i=2*n,j=n;i<(m+n);j++,i++)c[i]=*(a+j);}else{for(i=0,j=0;i<2*m;j++,i++,i++){31c[i]=*(a+j);c[i+1]=*(b+j);}for(i=2*m,j=m;i<(m+n);i++,j++
7、)c[i]=*(b+j);}printf("输出组合字符串c:");puts(c);}运行结果展示313、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。要求:以函数的形式实现,在main函数中调用,输入一串数据,输出加密后的数据;程序代码:#includevoidjiami(intarr[]){inti,array[4],temp;for(i=0;i<4;i++){array[i]=(arr[i]+
8、5)%10;}temp=array[0];array[0]=array[3];array[3]