c语言编程题

输入一个字符串,输出字符串中小写字母、大写字母、数字和其他字符的个数。

#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main(void)
{
int i,n,dx=0,xx=0,sz=0,qt=0;
char zfc[81];
printf("  请输入一个字符串:");
gets(zfc);
n=strlen(zfc);
for(i=0;i<n;i++)
{
if(islower(zfc[i]))
xx++;
else if(isupper(zfc[i]))
dx++;
else if(isdigit(zfc[i]))
sz++;
else
qt++;
}
printf("  共计输入 %d 个字符,输入的字符串中有如下:\n",n);
printf("  %d 个小写字母  %d 个大写字母  %d 个数字  %d 个其它字符\n",xx,dx,sz,qt);
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-30
#include<stdio.h>
#include<string.h>
int main()
{
static int a[100];
char s[1000000];
int k,i=0;
gets(s);
k=strlen(s);
for(i=0;i<k;i++)
{
if(s[i]>='a'&&a[i]<='z') a[0]+=1;
else if(s[i]>='A'&&a[i]<='Z') a[1]+=1;
else if(s[i]>='0'&&a[i]<='9') a[2]+=1;
else a[3]+=1;
}
printf("小写字母个数为%d,大写字母个数为%d,数字个数为%d,其他字母个数为%d\n",a[0],a[1],a[2],a[3]);
}

第2个回答  2018-04-30
#include <stdio.h>
#include <stdlib.h>
int main()
{
    char s[100];
    gets(s);
    int xiao,da,shu,qi;
    xiao=0;da=0;shu=0;qi=0;
    for(int i=0;s[i]!='\0';i++){
        if (s[i]>='0'&&s[i]<='9') shu++;
        else if (s[i]>='a'&&s[i]<='z') xiao++;
        else if (s[i]>='A'&&s[i]<='Z') da++;
        else qi++;
    }
    printf("%d\n%d\n%d\n%d\n",xiao,da,shu,qi);
    return 0;
}

相似回答