• 20131111实验 10 指针2


    1,输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,输出字符串y;再对y串的内容前后倒置后存入数组z中并输出。
         要求:用指针访问数组元素、用函数getx(char *c1)实现复制、用函数getr(char *c2)实现倒置。
         

    #include<stdio.h>
    
    void getx(char *c1);           //调用函数实现复制
    void getr(char *c2);           //点用函数实现倒置
    void main()
    { 
         char a[99];                        //定义一个小于99的数组
         puts("Enter a string:");           //输出提示
         gets(a);    
         getx(a);
    }
          void getx(char *c1)            //调用函数getx(char *c1)实现复制
    {
         int n,k=0;
         int j=0;
         char temp[99];
         puts("Enter an integer:");
         scanf("%d",&n);
         while(*(c1+j)!='')
         {
          j++;
         }
         for(int i=j-n;i<j;i++)
          { 
              temp[k]=*(c1+i);k++;}
              temp[k]='';
              puts("The new string is:");
              puts(temp);
              getr(temp);
              puts("The invert string is:");
              puts(temp);
          }
            void getr (char *c2)         //调用函数getr (char *c2)实现倒置
          {
             int i=0;
             char temp[99];
             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变换为密文。

    #include<stdio.h>
    #include<string.h>                    //定义字符串
    #define MAXLINE 80                    //不超过80字符
    void encrypt(char*);
    int main(void)
    {
        char line[MAXLINE];              //字符数组line用于存放输入的字符串
        printf("输入电码明文:");
        gets_s(line);
        encrypt(line);                     //调用加密指针encrypt
        printf("%s%s
    ","转换后的密码为:",line);
        return 0;
    }
    void encrypt(char*s)                 
    {
        for(;*s!='';s++)
            if(*s=='z')
                *s='a';
            else *s=*s+1;
    }
  • 相关阅读:
    xcode5.1上真机调试报告No architectures to compile for...的解决办法
    Altium Designer元件库--多单元元器件的制作
    COMS门电路的设计及其优化--以异或门为例
    从器件物理层面看MOSFET的内部结构
    VHDL与Verilog硬件描述语言TestBench的编写
    C语言求解Excel地址转换问题
    数字黑洞求解问题
    计算机显示电池出现问题
    Charles安装
    滑动窗口1——无重复字符的最长字串
  • 原文地址:https://www.cnblogs.com/baojunchi/p/3417452.html
Copyright © 2020-2023  润新知