实验10 指针2

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)!=''){
        j++;
    }
    for(int i=j-n;i<j;i++){
        temp[k]=*(c1+i);
        k++;
    }
    temp[k]='';
    getr(temp);
    puts("新的排序数为:");
    puts(temp);
}

void getr (char *c2)
{
    int i=0;
    char temp[N];
    while(*(c2+i)!=''){
        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变换为密文。

原文地址:https://www.cnblogs.com/liyang1995/p/3422654.html