• 实验十


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

    #include<stdio.h>
    #include<string.h>
    void getx(char *c1);
    void getr(char *c2);
    int n;
    int main()
    {
        char str1[80];
        printf("请输入字符串1:");
        gets(str1);
        printf("Enter a integer:");
        scanf("%d",&n);
        getx(str1);
        getr(str1);
        return 0;
    }
    void getx(char *c1){
        char y[80];
        int i=0,len=strlen(c1);
        for(i=0;i<n;i++){
            y[i]=*(c1+len-n+i);
        }
        y[n]='';
        printf("The new string is:%s
    ",y);
    }
    void getr(char *c2){
        char z[80];
        int i=0,len=strlen(c2);
        int m=n;
        while(m--!=0){
            z[i]=*(c2+len-1-i);
            i++;
        }
        z[n]='';
        printf("The invert string is:%s
    ",z);
    }

     

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

    #include<stdio.h>
    #include<string.h>
    void encrypt(char *s);
    int main()
    {
        char str[80];
        
        printf("请输入一串字符:");
        gets(str);
        encrypt(str);
        printf("After being encrypted:%s
    ",str);
        return 0;
    }
    void encrypt(char *s){
        for(;*s!='';s++)
            if(*s=='z')
                *s='a';
            else
                *s=*s+1;
    }

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

         要求:

    • n大于30;
    • 输出每次退出人的编号
    • 输出最后留下人的编号
    #include<stdio.h>
    #define MAXLINE 200
    int main()
    {
        int a[MAXLINE];
        int i,n,count=0,index;
        
        printf("Input a number:");
        scanf("%d",&n);
        index=n;
        for(i=0;i<n;i++){
            a[i]=0;
        }
        i=0;
        while(n>1){
            if(a[i]==0){
                count++;
                if(count==3){
                    a[i]=1;
                    printf("%d号退出
    ",i);
                    n--;
                    count=0;
                }
            }
            i++;
            if(i==index)
                i=0;
        }
        for(i=0;i<index;i++){
            if(a[i]==0)
                printf("最后留下人的编号:%d",i);
        }
        return 0;
    }

     

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

    #include<stdio.h>
    #include<string.h>
    void change(char *s);
    int main()
    {
        char str[80];
        printf("Enter a word:");
        gets(str);
        change(str);
        return 0;
    }
    void change(char *s){
        char y[80],op;
        int len=strlen(s);
        op=*(s+len-1);
        switch(op){
            case 'y':
                *(s+len-1)='i';
                *(s+len)='e';
                *(s+len+1)='s';
                break;
            case 's':
                *(s+len)='e';
                *(s+len+1)='s';
                break;
            case 'x':
                *(s+len)='e';
                *(s+len+1)='s';
                break;
            case 'h':
                if(*(s+len-2)=='s'||*(s+len-2)=='c'){
                    *(s+len)='e';
                    *(s+len+1)='s';
                    break;
                }
                else{
                    *(s+len)='s';
                    break;
                }
               case 'o':
                   *(s+len)='e';
                *(s+len+1)='s';
                break;
               default:
                   *(s+len)='s';
                   break;
        }
        printf("变复数以后:%s
    ",s);
    }

     

  • 相关阅读:
    【caffe】create_mnist.sh在windows下的解决方案
    【caffe】loss function、cost function和error
    【caffe】未定义函数或变量caffe_
    【caffe】无法找到gpu/mxGPUArray.h: No such file or directory
    maven常见问题处理(3-1)修改maven 默认使用的 jdk 版本
    SpringCloud是什么?
    SpringCloud的服务网关zuul
    SpringCloud的EurekaClient : 客户端应用访问注册的微服务(有断路器场景)
    SpringBoot 概念和起步
    YML(1)什么是 YML
  • 原文地址:https://www.cnblogs.com/reaper/p/3417459.html
Copyright © 2020-2023  润新知