主函数中输入一个字符串,自定义函数的功能是:分别将字母放到a数组中和将数字放到b数组中。高手帮忙啊

#include<stdio.h>#include<string.h>voidfun(char*s,char*a,char*b){/*********请在此空间填写函数体... #include<stdio.h>
#include<string.h>
void fun( char *s, char *a, char *b )
{
/*********请在此空间填写函数体部分**********/
}
void main()
{ char s[80],a[80],b[80];
gets(s);
fun(s,a,b);
printf(“\n 字母是:%s \n 数字是:%s \n”,a,b); }
展开
 我来答
IT孤鹜
2013-06-20 · TA获得超过4197个赞
知道大有可为答主
回答量:3960
采纳率:71%
帮助的人:3504万
展开全部

#include<stdio.h>

#include<string.h>

void fun( char *s, char  *a, char  *b )

{

   while(*s)

   {

  if(*s>='a' && *s<='z' || *s>='A' && *s<='Z') *a++=*s;

  else if(*s>='0' && *s<='9') *b++=*s;

  ++s;

   }

   *a='\0';

   *b='\0';

}

void main()

{ char s[80],a[80],b[80];

gets(s);

fun(s,a,b);

printf("\n 字母是:%s \n 数字是:%s  \n",a,b);   }

智慧人生gN
2013-06-20
知道答主
回答量:33
采纳率:0%
帮助的人:10.4万
展开全部

#include <iostream>
using namespace std;

void QuFen(char* pBuffer,int SizeofpBuffer,char* pStringSz,int* pNnmSz)
{
 int NumID=0;//数字数组的索引
 int StringID=0;//字符串数组的索引
 for (int n=0;n<SizeofpBuffer;n++)
 {
  if(pBuffer[n]>= 48 && pBuffer[n] <= 57)//这个范围就是数字
  {
   pNnmSz[NumID++] = pBuffer[n]-48;
  }
  else if ( (pBuffer[n]>= 65 && pBuffer[n] <= 90) || (pBuffer[n]>= 97 && pBuffer[n] <= 122) ) //这个范围就是字母
  {
   pStringSz[StringID++] = pBuffer[n];//
  }
 }
 pNnmSz[NumID] = '/';//以表示结束
 pStringSz[StringID] = '/';//以表示结束

}

void main()
{
 const int Z = 10;
 char sz[Z] = {0};
 int count=0;
 while(count<Z)
 {
  cin>>sz[count];
  count++;
 }


   char StringSz[Z] = {0};
   int  NumSz[Z] = {0};
   QuFen(sz,Z,StringSz,NumSz);
 cout<<"输出字母"<<endl;
   for (int n=0;n<Z;n++)  
 {  
  if(StringSz[n] == '/')
  { 
        break;

  }
  cout<<StringSz[n]<<endl; 

 }

  cout<<"输出数字"<<endl;
  for (int n=0;n<Z;n++)
 {
  if(NumSz[n] == '/')
  {
        break;

  }
  cout<<NumSz[n]<<endl;
  
 } 
 system("pause");
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友83cdc1c
推荐于2017-09-30 · TA获得超过5788个赞
知道大有可为答主
回答量:1907
采纳率:100%
帮助的人:815万
展开全部
void fun(char *s, char *a, char *b)
{
    int i=0,j=0;
    while(*s!='\0')
    {
        if((*s>='a' && *s<='z') || (*s>='A' && *s<='Z'))
            a[i++]=*s;
        else if(*s>='0' && *s<='9')
            b[j++]=*s;
    }
    a[i]='\0';
    b[j]='\0';
    s++;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-20
展开全部
试试

#include<stdio.h>
#include<string.h>
void fun( char *s, char *a, char *b )
{
/*********请在此空间填写函数体部分**********/
int i,j,k;
j=k=0;
for(i=0;s[i]!='\0';i++)
if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')
a[j++]=s[i];
else if(s[i]>='0'&&s[i]<='9')
b[k++]=s[i];
a[j]=b[k]='\0';
}
void main()
{ char s[80],a[80],b[80];
gets(s);
fun(s,a,b);
printf("\n 字母是:%s \n 数字是:%s \n",a,b); }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式