zoukankan      html  css  js  c++  java
  • 第10次实验任务

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

    The new string is DCBA


    我的程序:

    #include"stdio.h"  
    #include"string.h"  
    void getx(char *c1);  
    void getr(char *c2);  
    int main()  
    {  
        char str1[20];     
        printf("Enter a string:");    
        gets(str1);   
        printf("Enter an integer:");    
        getx(str1);  
        return 0;  
    }  
      
    void getx(char *c1)  
    {  
        int n,i,j=0,r=0;  
        char str2[20];  
        scanf("%d",&n);  
        while(*(c1+j)!='\0')    
        {    
            j++;    
        }    
      
        for(i=j-n;i<j;i++)    
        {    
          str2[r]=*(c1+i);  
          r++;  
        }    
        str2[r]='\0';  
        getr(str2);  
        puts("The new string is ");    
        puts(str2);  
    }  
    void getr(char *c2)     
    {  
        int i=0;      
        char str2[20];      
        while(*(c2+i)!='\0')      
        {  
            i++;  
        }      
        for(int j=0;j<i;j++)      
        {  
            str2[i-j-1]=*(c2+j);  
        }      
            for(int r=0;r<i;r++)      
            {  
            *(c2+r)=str2[r];  
            }   
    }   


    运行结果截图:


    ----------------------分割线----------------------



    任务2:

    定义一维整形数组,对数组分别进行“由大到小”和"由小到大"排序并输出。

    要求:用函数和指针实现排序


    我的程序:

    #include<stdio.h>  
    void r(int *a,int n) ;   
    void p(int *a,int n) ;    
      
    void main()   
    {   
    int n=5,i,a[30];    
        for(i=0;i<n;i++)    
        {    
            scanf("%d",&a[i]);    
        }    
            r(a,n);   
            for(i=0;i<n;i++)    
            {    
            printf("%d\t",a[i]);  
              
            }  
            printf("\n");  
            p(a,n);  
            for(i=0;i<n;i++)    
            {    
            printf("%d\t",a[i]);    
            }   
      
    }    
      
       
    void r(int *a,int n)     
    {    
    int i,j,temp;     
    for(i=1;i<n;i++)     
    {     
        temp=*(a+i);    
        j=i-1;     
        while(j>=0&&temp<*(a+j))     
       {     
           *(a+j+1)=*(a+j);     
           j--;     
        }     
        *(a+j+1)=temp;     
    }    
    }  
    void p(int *a,int n)     
    {    
    int i,j,temp;     
    for(i=1;i<n;i++)     
    {     
        temp=*(a+i);    
        j=i-1;     
        while(j>=0&&temp>*(a+j))     
       {     
           *(a+j+1)=*(a+j);     
           j--;     
        }     
        *(a+j+1)=temp;     
    }    
    }  



    运行结果截图:



    ----------------------分割线----------------------



    任务3:

    输入字符串s,将字符放入d数组中,最后输出d中的字符串。
    要求:用函数和指针实现
    运行示例
    输入字符串:abc123edf456gh

    输出字符串:abcedfgh


    我的程序:

    #include<stdio.h>  
      
    void main()    
    {    
        char a[100],*p1=a,b[100],*p2=b;    
        printf("请输入字符串\n");    
        gets(a);    
        for(;*p1!=0;p1++)    
        {    
            if(*p1<47||*p1>58)    
            {    
                *p2=*p1;    
                p2++;    
            }    
        }    
        *p2='\0';    
        printf("输出字符串:");    
        puts(b);    
    }  


    运行结果截图:



  • 相关阅读:
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    Python设计模式
    composer安装以及更新问题,配置中国镜像源。
    PHP使用文件排它锁,应对小型并发
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3124988.html
Copyright © 2011-2022 走看看