weixin_44032600 2019-04-10 22:00 采纳率: 0%
浏览 1133

输入字符串a,用指针,将其中数字,字母分别剔除并按原来顺序字符串b和c里,最后分别输出a,b,c三个字符串

/*指针应用之字符分捡

这是题目,接下来是我的代码

输入一个字符串a,使用指针,将其中数字,字母分别剔除并按原来顺序保存在新的字符串b和c里,最后分别输出a,b,c三个字符串,为了保证不输出空行,程序在每个输出串前添加了一个空格。

输入输出样例:
123abc#$abc456
result:
#$
123456
abcabc

程序的主要框架已经给出,请仅在
********** Begin **********

 **********   End  ***********

注释对之间的空行中添加你的代码,任何修改该两行注释,以及修改注释外代码均将被判失败

f函数内部已经定义好变量和输入输出,你的代码中只能利用已经定义的变量,禁止定义新的变量。
程序的输入输出已经写好,你的代码不需要执行输入输出功能。
/
#include
#include
#define N 256
#define BUFSZ N
void f()
{
char a[N],b[N],c[N],*p1,*p2,*p3,*p;
gets(a);
/
********* Begin **********/

/********** End ***********/
printf("result:\n");
printf(" ");puts(a);
printf(" ");puts(b);
printf(" ");puts(c);
}
int main()
{
f();
return 0;
}

我的代码:
/********** Begin **********/
p=&a[0];
for(p=0;p!='\0';p++)
{ if((*p9)&&(*p<'a'||*p>'z')&&(*p<'A'||*p>'Z'))
{*p1=*p;
p1++;}

else if(*p>=0&&*p<=9)
{p2=&b[0];
*p2=*p;
p2++;}
else if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))
{p3=&c[0];
*p3=*p;
p3++;}
*p1='\0';
*p2='\0';
*p3='\0';
}

/********** End ***********/
输出来是图片说明

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题