怎么统计一个字符串里各个字符及数字的个数?
发布网友
发布时间:2022-04-26 21:44
我来回答
共3个回答
热心网友
时间:2023-11-06 20:39
#include<stdio.h>
#include<string.h>
void main(){
char str[1000000];
int i,j,countA=0,countB=0,num=0;
printf(" 请输入一个字符串:");
scanf("%s",&str);
j=strlen(str);
for(i=0;i<j;i++){
if((int)str[i]>=65&&(int)str[i]<=90){
countA++;
}else if((int)str[i]>=90&&(int)str[i]<=122){
countB++;
}else if((int)str[i]>=48&&(int)str[i]<=57){
num++;
}
}
printf("大写字母%d个!\n",countA);
printf("小写字母%d个!\n",countB);
printf("数字%d个!\n",num);
printf("大写字母%d个!\n",(j-countA-countB-num));
}
我只是粗略统计大写字母、小写字母、数字和其它字符
热心网友
时间:2023-11-06 20:40
#include <stdio.h>
#include <ctypes.h>
int main()
{
char ch;
int upper = 0, lower = 0, digit = 0, other = 0;
while((ch = getchar()) != '\n') {
if (isupper(ch))
upper++;
else if (islower(ch))
lower++;
else if (isdigit(ch))
digit++;
else
other++;
}
printf("upper = %d, lower = %d, digit = %d, other = %d\n", upper, lower, digit, other);
return 0;
}追问谢谢!但是这样字母会存在ch里面吗?如果用指针应该怎么写?
追答程序的目标是计算输入的字符串里各种类字符各出现了多少次,ch只用来记录当前要判断的字符,没有必要保存之前已经判断过的字符。
热心网友
时间:2023-11-06 20:40
你好!我觉得实现这个功能需要写个小程序来实现,如哪位有更好的解决之道,不妨贴出点拨一下。个人愚见,供参考!追答如用程序实现,大致步骤:先求字符串长度;用循环遍历字符串求出数字个数;求字符串中数字、非数字各是多少。三步即可。
热心网友
时间:2023-11-06 20:39
#include<stdio.h>
#include<string.h>
void main(){
char str[1000000];
int i,j,countA=0,countB=0,num=0;
printf(" 请输入一个字符串:");
scanf("%s",&str);
j=strlen(str);
for(i=0;i<j;i++){
if((int)str[i]>=65&&(int)str[i]<=90){
countA++;
}else if((int)str[i]>=90&&(int)str[i]<=122){
countB++;
}else if((int)str[i]>=48&&(int)str[i]<=57){
num++;
}
}
printf("大写字母%d个!\n",countA);
printf("小写字母%d个!\n",countB);
printf("数字%d个!\n",num);
printf("大写字母%d个!\n",(j-countA-countB-num));
}
我只是粗略统计大写字母、小写字母、数字和其它字符
热心网友
时间:2023-11-06 20:40
#include <stdio.h>
#include <ctypes.h>
int main()
{
char ch;
int upper = 0, lower = 0, digit = 0, other = 0;
while((ch = getchar()) != '\n') {
if (isupper(ch))
upper++;
else if (islower(ch))
lower++;
else if (isdigit(ch))
digit++;
else
other++;
}
printf("upper = %d, lower = %d, digit = %d, other = %d\n", upper, lower, digit, other);
return 0;
}追问谢谢!但是这样字母会存在ch里面吗?如果用指针应该怎么写?
追答程序的目标是计算输入的字符串里各种类字符各出现了多少次,ch只用来记录当前要判断的字符,没有必要保存之前已经判断过的字符。
热心网友
时间:2023-11-06 20:40
你好!我觉得实现这个功能需要写个小程序来实现,如哪位有更好的解决之道,不妨贴出点拨一下。个人愚见,供参考!追答如用程序实现,大致步骤:先求字符串长度;用循环遍历字符串求出数字个数;求字符串中数字、非数字各是多少。三步即可。