• 实验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

    #include<stdio.h>
    #include<string.h>
    void getx(char *c1);
    void getr(char *c2);
    int x;
    int main(void)
    {
        char s[80];
        printf("enter a string:");
        gets(s);
        printf("enter an integer:");
        scanf("%d",&x);
        printf("the new string is:");
        getx(s);//由这个函数可以指出指针c1已经指向了s;
        printf("the invert string is:");
        getr(s);//同理;
        return 0;
    }
    void getx(char *c1)
    {
        char z[80];//再次定义一个数组用来存放复制后的;
        int i,y;
        y=strlen(c1);//y是数组s的长度。
        for(i=0;i<x;i++)
        {
            z[i]=*(c1+y-x+i);//因为是从第x个字符开始。数组的长度减去x再加上i的值就是ci向后那么多个数组。
        }
        z[x]='';
        printf("%s
    ",z);
    }
    void getr(char *c2)
    {
        char m[80];//用来存放倒叙输出后的值
        int i,a;
        a=strlen(c2);//a数组s的长度
        for(i=0;i<x;i++)
        {
            m[i]=*(c2+a-1-i);//x-1-i是从倒数的开始
        }
        m[x]='';
        printf("%s
    ",m);
    }

    2、为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。变换规则是:小写字母z变换成为a,其它字符变换成为该字符ASCII码顺序后1位的字符,比如o变换为p。
         要求输入一个字符串(少于80个字符),输出相应的密文;要求定义和调用函数encrypt(s),该函数将字符串s变换为密文。

  • 相关阅读:
    SPI通信协议(SPI总线)学习
    编译内核提示mkimage command not found – U-Boot images will not be built
    Ubuntu samba服务搭建
    Ubuntu telnet服务搭建
    嵌入式 PPPD工具实现3G拨号实践以及工具PPPD和CHAT详解摘录
    helloworld模块
    shell脚本文件判断
    git入门教程
    ILI9341支持32*32点阵英文字符(stm32)
    tft英文8*32尺寸字符库
  • 原文地址:https://www.cnblogs.com/wuyanlong/p/3435787.html
Copyright © 2020-2023  润新知