首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

字符串解决方法

2012-03-02 
字符串给出一串字符串“jfkag jekgj gegjkl”统计所有26个大写字母的个数 和统计所有26个小写字母的个数希望

字符串
给出一串字符串“jfkag jekgj gegjkl”
统计所有26个大写字母的个数 和统计所有26个小写字母的个数

希望大虾们能给出代码!!!

[解决办法]

void AlphaCount(char *string,int *capNum,int *smallNum)
{
int i = 0;
while(i<strlen(string))
{
if((*(string+i))>='a'&&(*(string+i))<='z')
(*smallNum)++;
else if((*(string+i))>='A'&&(*(string+i))<='Z')
(*capNum)++;
i++;
}
return;
}
[解决办法]

C/C++ code
void AlphaCount(char *string,int *capNum,int *smallNum){    int i = 0;    *smallNum = *capNum = 0;    while(i<strlen(string))    {        if((*(string+i))>='a'&&(*(string+i))<='z')            (*smallNum)++;        else if((*(string+i))>='A'&&(*(string+i))<='Z')            (*capNum)++;        i++;    }    return;}
[解决办法]
C/C++ code
void Len(char *str, int *up, int *low){   *up = *low = 0;   while(*str != '\0'){       if(*str >= 'a' && *str <= 'z')           ++*low;       else if(*str >= 'A' && *str <= 'Z'){           ++*up;       }       ++str;   }}
[解决办法]
C/C++ code
#include <stdio.h> #include <stdlib.h> #include <conio.h>int main(void) {     char c;    int num_low = 0;    int num_up = 0;    printf("please input the string : ");    while ((c = getch()) != '\r')     {                if (c >= 'a' && c <= 'z')            ++num_low;        if (c >= 'A' && c <= 'Z')            ++num_up;        putchar(c);    }    printf("\nLowercase letters number : %d\nUppercase letters number : %d\n", num_low, num_up);    system("pause");    return 0; }
[解决办法]
C/C++ code
typedef struct counter{    int lower;    int upper;}COUNTER;void AlphaCount2(char *string){    int i = 0;    COUNTER result[26]={{0,0}};        while(*string!=0)    {        if(*string>='a'&&*string<='z')            result[*string-'a'].lower++;        else if(*string>='A'&&*string<='Z')            result[*string-'A'].upper++;            string++;    }    for(;i<26;i++)    {        if(result[i].lower>0)            printf("\n%c\t%d",'a'+i,result[i].lower);        if(result[i].upper>0)            printf("\n%c\t%d",'A'+i,result[i].upper);    }    return;}
[解决办法]
#include <stdio.h>
main(){
char st[20],*ps;
int i;
int lownum=0;
int upnum=0;
printf("input a string:\n");
ps=st;
scanf("%s",ps);
for(i=0;ps[i]!='\0';i++)
{
if(ps[i]>='a' && ps[i]<='z')
{
lownum++;
}
if(ps[i]>='A' && ps[i]<='Z') 
{upnum++;
}
}
printf("lownum of the string is %d\nupnum of the string is %d\n",lownum,upnum);
return 0;
}


[解决办法]
#include <stdio.h>
main(){
char st[20],*ps,a[54]={0};
int i;
int j;
printf("input a string:\n");
ps=st;
scanf("%s",ps);
for(i=0;ps[i]!='\0';i++)
{
for(j='a';j<='z';j++)//字符a==97
if(ps[i]=j)
a[j-97]+=1;
for(j='A';j<='Z';j++) //字符A=65
if(ps[i]=j)
a[j-33]+=1;
}
for(i=0;i<26;i++)
printf("%c:%d\n",i+97,a[i]);


for(i=26;i<54;i++)
printf("%c:%d\n",i+33,a[i]);

}
[解决办法]

探讨
C/C++ code
void Len(char *str, int *up, int *low){
*up = *low = 0;
while(*str != '\0'){
if(*str >= 'a' && *str <= 'z')
++*low;
else if(*str >= 'A' && *str <= 'Z'){
++*up;
}
++str;
}
}

[解决办法]
看看 我的做的是否符合你的要求啊

热点排行