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

任务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);  
} 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值