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条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题