第十次

来源:互联网 发布:淘宝客服难学吗 编辑:程序博客网 时间:2024/04/27 18:12
任务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>   void main()      {void getx(char x[],char y[],int *p,int *q);         void getr(char z[],int *t);          char a[100],c[100];int n;int i=0;       char *l,*o;int *k,*g;  printf("请输入字符串\n");      gets(a);  printf("请输入比字符串的长度少的整数\n");  scanf_s("%d",&n);  while(a[i]!='\0')      i++;  l=a;o=c;k=&n;g=&i;  getx(l,o,k,g);  getr(o,k);  printf("%s",c);  }  void getx(char x[],char y[],int *p,int *q)  {int v=0;int h=*p;   while(v<*p)      {y[v]=x[*q-h];  v++,h--;}  y[*p+1]='\0';}  void getr(char z[],int *t)  {char x;int j=0;  while(j<*t/2)  {x=z[*t-1-j];  z[*t-1-j]=z[j];  z[j]=x;  j++;}}  


运行图:

 

任务2:
定义一维整形数组,对数组分别进行“由大到小”和"由小到大"排序并输出。
要求:用函数和指针实现排序

我的程序:

#include<stdio.h>   void baka(int a[],int *x)  { int n;      if(a[*x]<a[*x+1])          {n=a[*x];  a[*x]=a[*x+1];  a[*x+1]=n;}}    void te(int b[],int *i)  { int n;    if(b[*i]>b[*i+1])          {n=b[*i];           b[*i]=b[*i+1];           b[*i+1]=n;}  }  void main()  { int *p,*m;  int n,w=0,e=1;int q[100];  printf("要输入多少个数?\n");  scanf_s("%d",&n);  printf("输入需要输入的数\n");  while(w<n)  {scanf("%d",&q[w]);w++;}  p=&w;  m=q;  while(e<n)  {for(w=0;w+1<n;w++)  {te(m,p);}e++;}  printf("从小到大输出为\n");  int r=0;  while(r<n)      {printf("%d,",q[r]);  r++;}  e=0;  while(e<n)  {for(w=0;w+1<n;w++)  {baka(m,p);}e++;}  printf("从大到小输出为\n");   r=0;  while(r<n)      {printf("%d,",q[r]);  r++;}}  


 

运行图:

 

 

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

输出字符串:abcedfgh

我的 程序:

#include<stdio.h>   void shut(char a[],char b[])  { int c=0;int u=0;  while(c<20)      {if(a[c]>='0'&&a[c]<='9')      c++;      else          {b[u]=a[c];  u++;c++;}}  }  void main()      {char q[20],p[20];int a=0;char *t,*f;     printf("输入字符串");       gets(p);       t=q;f=p;       shut(f,t);       printf("%s",q);}  



运行结果: