2012电子信息 第十次实验任务

来源:互联网 发布:去黑头方法 知乎 编辑:程序博客网 时间:2024/06/13 13:43

任务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 "stdafx.h"#include<string.h>char getx(char *c1){    int n;    char b[128],*p;int x=strlen(c1);p=b;    printf("Enter an integer:");    scanf_s("%d",&n);    for(int i=0;c1+x-n!='\0';i++){ *p = *c1+x-n+i; p++; printf_s("%c",*p);}*p='\0';    return b[n];  }  void getr(char *c2)          {            int n=strlen(c2);         char t,*p,*i,*j,m=(n-1)/2;              i=c2; //i保存数组第一个指针               j=c2+n-1; //j保存数组最后一个指针               p=c2+m; //p保存中间指针                for(;i<=p;i++,j--)//首尾向中间循环(第一个跟最后个交换,依此类推)                 {               t=*i;               *i=*j;      *j=t;             }}void main(){    char a[128],b[128],*p,*q;    p=a;    q=b;    printf("Enter a string:");    gets_s(a);    b[128]=getx(p);    getr(q);    puts(b);}




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

#include "stdafx.h"   void main()    {      char s[128],d[128];   int j=0;   gets_s(s);     for(int i=0;s[i]!='\0';i++)   {       if(s[i]<='z'&&s[i]>='a')       {           d[j]=s[i];           j++;       }   }   d[j]='\0';   puts(d);  } 


 

原创粉丝点击