2 利用指针编写程序,统计一个字符串中大写字母,小写字母和数字的个数。

如题所述

第1个回答  2011-05-27
#include<stdio.h>
#include<stdlib.h>
void main()
{
char *p,c;
int n1,n2,n3;
n1=n2=n3=0;
p=(char*)malloc(100*sizeof(char));
printf("请输入字符串:");
gets(p);
while((c=*(p++))!='\0')
{
if('0'<=c&&c<='9')
n1++;
if('A'<=c&&c<='Z')
n2++;
if('a'<=c&&c<='z')
n3++;
}

printf("有%d个数字\n有%d个大写字母\n有%d个小写字母\n",n1,n2,n3);

}本回答被网友采纳
第2个回答  2011-06-06
主函数是输入一个字符串,然后调用函数,我写一下被调函数
void f(char *p,int a[3]){int i;
for(;*p!='\0';p++){
if (*p>='a'&&*p<='z')
a[0]++;
if (*p>='A'&&*p<='Z')
a[1]++;
if(*p>='\001'&&*p<='\009')
a[2]++;}
}
第3个回答  2011-05-27
#include <stdio.h>
int upper,lower,digit;
int main()
{void count(char *);
char text[81];
printf("input string:\n");
gets(text);
printf("string:");
puts(text);
upper=lower=0;
digit=0;
count(text);
printf("\nupper:%d\nlower:%d\ndigit:%d\n",upper,lower,digit);
return 0;
}

void count(char *str)
{int i;
for (i=0;str[i]!='\0';i++)
if (str[i]>='a'&& str[i]<='z')
lower++;
else if(str[i]>='A' && str[i]<='Z')
upper++;
else if (str[i]>='0' && str [i]<='9')
digit++;
}本回答被提问者采纳
第4个回答  2011-05-27
#include <stdio.h>

int main(void)
{
char a[128], *p, alpha = 0, beta = 0, num = 0;
int i;
p = a;

gets(a);
while (*p)
{
if (*p >= 'a' && *p <='z') alpha++;
if (*p >= 'A' && *p <='Z') beta++;
if (*p >= '0' && *p <='9') num++;
p++;
}

printf ("count of alpha is %d\n", alpha);
printf ("count of beta is %d\n", beta);
printf ("count of number is %d\n", num);

return 0;
}