zoukankan      html  css  js  c++  java
  • 实验 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
    ----------------------------------分割线----------------------------------
    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("Input the srting:");
        gets(line);
        encrypt(line);               /*调用加密指针encrypt*/
        printf("%s%s
    ","After being encrypted:",line);
        return 0;
    }
    void encrypt(char *s)
    {
        for(;*s!='';s++)          /*进行循环*/
            if(*s == 'z')           /*若字符为z则进行以下操作*/
                *s='a';
            else *s=*s+1;
    }


    ----------------------------------分割线----------------------------------
    3、请编一个程序,可以将英语规则名词由单数变成复数。已知规则如下:
         (a)以辅音字母y结尾,则将y改成i,再加es;
         (b)以s、x、ch、sh结尾,则加es;
         (c)以元音字母o结尾,则加es;
         (d)其他情况直接加s。
         要求用键盘输入英语规则名词,屏幕输出该名词的复数形式。
    ----------------------------------分割线----------------------------------

    4、有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子。如此循环,直到留下最后一个人。

         要求:

    • n大于30;
    • 输出每次退出人的编号
    • 输出最后留下人的编号
  • 相关阅读:
    二分查找
    Uva11464 Even Parity
    Uva10881 Piotr's Ants
    POJ3154 Graveyard
    [NOIP2015] 提高组 洛谷P2680 运输计划
    [NOIP2015] 提高组 洛谷P2679 子串
    [NOIP2015] 提高组 洛谷P2678 跳石头
    [NOIP2015] 提高组 洛谷P2668 斗地主
    [NOIP2015] 提高组 洛谷P2661 信息传递
    [NOIP2015] 提高组 洛谷P2615 神奇的幻方
  • 原文地址:https://www.cnblogs.com/danson-daisy/p/3417447.html
Copyright © 2011-2022 走看看