1、输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,输出字符串y;再对y串的内容前后倒置后存入数组z中并输出。
要求:用指针访问数组元素、用函数getx(char *c1)实现复制、用函数getr(char *c2)实现倒置。
运行示例
Enter a string: abcABCD
Enter an integer: 4
The new string is: ABCD
The invert string is: DCBA
//输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,输出字符串y;再对y串的内容前后倒置后存入数组z中并输出。 #include<stdio.h> #include<string.h> #define N 100 void getx(char *c1); //函数getx(char *c1)实现复制 void getr(char *c2); //函数getr(char *c2)实现倒置 int main(void) { char a[N]; puts("请输入一组字符:"); gets(a); getx(a); } void getx(char *c1) { int n,k=0,j=0; char temp[N]; puts("请输入选取个数:"); scanf("%d",&n); //复制开始 while(*(c1+j)!='\0'){ j++; } for(int i=j-n;i<j;i++){ temp[k]=*(c1+i); k++; } temp[k]='\0'; getr(temp); puts("新的排序数为:"); puts(temp); } void getr (char *c2) { int i=0; char temp[N]; while(*(c2+i)!='\0'){ i++; } for (int j=0;j<i;j++){ temp[i-j-1]=*(c2+j); } for(int k=0;k<i;k++){ *(c2+k)=temp[k]; } }
2、为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。变换规则是:小写字母z变换成为a,其它字符变换成为该字符ASCII码顺序后1位的字符,比如o变换为p。
要求输入一个字符串(少于80个字符),输出相应的密文;要求定义和调用函数encrypt(s),该函数将字符串s变换为密文。