C语言指针实验,怎么解?

2025-03-22 01:02:03
推荐回答(2个)
回答1:

#include

#include

void count(char *w, int *big, int small,int digital)

{

int sum=*big;

for(int i=0;i

{

if(w[i]>='a'&&w[i]<='z')

small++;

if(w[i]>='A'&&w[i]<='Z')

sum++;

if(w[i]>='0'&&w[i]<='9')

digital++;

}

printf("big=%d,small=%d,digital=%d\n",sum,small,digital);

}

int main()

{

char a[111];

int big=0,small=0,digital=0; 

gets(a);

count(a,&big,small,digital);//调用函数 

return 0;

}

回答2:

#include

count(char *w, int *big, int *small,int *digital)

{ *big=*small=*digital=0;

  for(; *w; w++)

  { if(*w>='A'&&*w<='Z')(*big)++;

    else if(*w>='a'&&*w<='z')(*small)++;

    else if(*w>='0'&&*w<='9')(*digital)++;

  }

  return 0;

}

int main()

{ char s[200];

  int a=1,b=2,c=3;

  gets(s);

  count(s,&a,&b,&c);

  printf("大写:%d\n小写:%d\n数字:%d\n",a,b,c);

  return 0;

}