c语言 对任意输入的字符串,统计其中的大写字母和小写字母的个数

//6、编写程序,对任意输入的字符串,统计其中的大写字母和小写字母的个数。
//例如, 输入字符串:AAaaBBb123CCccccd,则应输出结果:upper = 6, lower = 8。
#include <stdio.h>
#include <string.h>
void tongji (char str)
{
int i,n=0,k=0,a;
void out (int k,int n);
for(i=0;i<=strlen(str);i++)
{
if(a>='A'&&a<='Z')
n++;
if(a>='a'&&a<='z')
k++;
}
out(k,n);
}
void out (int k,int n)
{
printf("大写字母有%d,小写字母有%d",k,n);
}
void main()
{
char str;
scanf("%s",str);
tongji(str);
}
求找错 每次用strlen就出现些错误 求讲解

#include<stdio.h>

#include<string.h>

voidmain()

{

charsen[100];

unsignedinti;

intspace,A,a,num,other;

space=A=a=num=other=0;

printf("输入字符串:\n");

gets(sen);

for(i=0;i<strlen(sen);i++)

{

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

A++;

elseif(sen[i]>'a'&&sen[i]<'z')

a++;

elseif(sen[i]>='0'&&sen[i]<='9')

num++;

elseif(sen[i]=='')

space++;

else

other++;

}

printf("该字符串共有%d个字符\n\n\t大写字母%d个\n\t小写字母%d个\n\t数字%d个\n\t空格%d个\n\t其他字符%d个\n\n",strlen(sen),A,a,num,space,other);

}

扩展资料

C语言统计一个文件字符数

1、getchar函数。getchar函数默认的输入来源是标准输入,即stdin,通常是键盘。但是根据题目的要求,输入就不能是键盘了,而是一个文件。

2、判断文件结尾。不同的操作系统,对待文件的结尾标志是不一样的。unix系统的文件结束标志是ctrl+d,win是ctrl+z。为了屏蔽不同系统的差异,统一用EOF来表示。

3、重定向技术。对于getchar和printf函数,stdin和stdout默认是键盘和显示器,为了从文件输入和输出到文件,需使用重定向技术“<”和“>”,使得stdin和stdout重定向到文件。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-16

你好

修改后的代码,主要后面注释:

#include <stdio.h>
#include <string.h>
void out (int k,int n);

void tongji (char str[])  // 传递的参数是数组
{
  int i,n=0,k=0,a;
  for(i=0;i<strlen(str);i++)
  {
a=str[i];        // a 要连续赋值
    if(a>='A'&&a<='Z')
n++;
if(a>='a'&&a<='z')
k++;
  }
  out(k,n);
}
void out (int k,int n)
{
  printf("大写字母有%d,小写字母有%d",k,n);
}
int main()
{
  char str[100];         // 这里是数组,不是单个字符
  scanf("%s",str);
  tongji(str);
}

本回答被提问者和网友采纳
第2个回答  2013-11-28
#include <stdio.h>
#include <string.h>
#include<stdlib.h>
void out (int k,int n)
{
printf("大写字母有%d,小写字母有%d",k,n);system("pause");
}

void tongji (char *str)
{
int i,n=0,k=0;
for(i=0;i<=strlen(str);i++)
{
if(str[i]>='A'&&str[i]<='Z'){
n++;
}
if(str[i]>='a'&&str[i]<='z'){
k++;
}
}
out(k,n);
}

int main()
{
char str[1000]={'\0'};
scanf("%s",str);
tongji(str);
}

strlen用法:http://baike.baidu.com/link?url=wKltAOcBjvHcbbQ660iqQY5yGnPzXOBvY0dr0Ee1vBQUN1m1r2rtK5IOmh7--3Sd_-rcZFvZr6RDMAG11Z4_JoAJ1YIaXgzmXqEqLNlYw_fFcA1N0uhnA_dLaEnyrAbH
注意一下函数传参的问题就行
char a;表示定义一个字符
char a[2000];表示定义一个字符串
传参用地址就行
第3个回答  2013-11-28
#include <stdio.h>
#include <string.h>
void tongji (char *str)  //参数是字符指针,另一个概念,好好看书。
{
  int i,n=0,k=0,a;
  void out (int k,int n);
  for(i=0;i<=strlen(str);i++)
  {
    if(str[i]>='A'&& str[i]<='Z')
n++;
if(str[i]>='a'&& str[i]<='z')
k++;
  }
      out(k,n);
}
void out (int k,int n)
{
  printf("大写字母有%d,小写字母有%d",k,n);
}
int main()
{
  char str[100];   //改成字符数组,可以存100个字符
  scanf("%s",str);
  tongji(str);
  return 0;
}

字符串是字符数组,你把概念弄错啦,再看看书。

第4个回答  2022-04-10
#include <stdio.h>

int main()
{
int i;
int count = 0, count1 = 0;
printf("请输入一串英文字符\n");
while((i = getchar()) != '\n')
{
if( i >= 'A' && i <= 'Z')
{
count++;
}
else if( i >= 'a' && i <= 'z')
{
count1++;
}
}
printf("大写字母有%d个\n", count);
printf("大写字母有%d个\n", count1);
return 0;
}

c语言 对任意输入的字符串,统计其中的大写字母和小写字母的个数_百度知...
printf("该字符串共有%d个字符\\n\\n\\t大写字母%d个\\n\\t小写字母%d个\\n\\t数字%d个\\n\\t空格%d个\\n\\t其他字符%d个\\n\\n",strlen(sen),A,a,num,space,other);}

C语言编程 从键盘输入一个字符串,分别统计其中大写字母、小写字母及其...
printf("大写字母的个数为:%d 小写字母的个数为:%d 空格个数为:%d \\n",countd,countx,countk);printf("数字个数为:%d 其他字符个数为%d\\n",counts,countq);}

c语言 输入一串字符串,统计并输出其中的大写字母、小写字母、数字字符...
} printf("数字字符数量:%d\\n小写字母字符数量:%d\\n大写字母字符数量:%d\\n",sum0,suma,sumA);}

c语言 输入一串字符串,统计并输出其中的大写字母、小写字母、数字字符...
printf("小写字母字符数量:%d\\n", suma);printf("大写字母字符数量:%d\\n", sumA);} 在程序中,我们使用`gets`函数获取输入,但请注意,在现代C标准中,`gets`不安全,推荐使用`fgets`或`scanf`替换。接下来,通过指针`p`逐个检查字符,如果字符是数字(ASCII值在'0'到'9'之间),则增加`sum...

C语言(简单的)编写程序输入任意一串字符统计其中大写字母,小写字母。数 ...
)){ ++small;} else if ((*ch>='0')&&(*ch<='9')){ ++character;} else { ++qita;} ++ch;} printf("大写字母的个数是:%d\\n", big);printf("小写字母的个数是:%d\\n", small);printf("数字的个数是:%d\\n", character);printf("其他字符的个数是:%d\\n", qita);} ...

c语言输入一串字符串,统计并输出其中的大写字母、小写字母、数字字符...
在C语言中,编写一个程序可以统计并输出给定字符串中的大写字母、小写字母、数字字符和其他字符的数量。程序使用指针遍历字符串,通过条件判断来区分各类字符。以下是该程序的示例代码:include<stdio.h>voidmain(){chara[100];intsum0=0,suma=0,sumA=0;gets(a);char*p;for(p=a;*p!='\\0';p++)...

...输入一段字符串,使他可以计算出输入的大写字母小写字母?
int main(){ char str[100]; \/\/定义一个字符数组,用来存储输入的字符串 int upper = 0; \/\/定义一个变量,用来统计大写字母的个数 int lower = 0; \/\/定义一个变量,用来统计小写字母的个数 int i; \/\/定义一个循环变量 printf("请输入一段字符串:\\n");scanf("%s", str); \/\/从标准...

用c语言输入一字符串,分别统计其中的大写字母、小写字母及其它字符的个...
char s[200];int i,da,xiao,other;scanf("%s",s);da=xiao=other=0;for(i=0;s[i];i++){ if(s[i]>='A' && s[i]<='Z') da++;else if (s[i]>='a' && s[i]<='z') xiao++;else other++;} printf("大写 %d 个\\n",da);printf("小写 %d 个\\n",xiao);printf("...

c语言 输入一个字符串,求出其中大写字母的个数
\\0'; p++){ if (*p >= '0' && *p <= '9')sum0 += 1;else if (*p >= 'a' && *p <= 'z')suma += 1;else if (*p >= 'A' && *p <= 'Z')sumA += 1;} printf ("数字字符数量:%d\\n小写字母字符数量:%d\\n大写字母字符数量:%d\\n", sum0, suma, sumA);} ...

C语言题目(数组部分):输入一行字符,统计其中大写字母、小写字母、数字及...
void counter(char*);int n,i;char array[100];printf("enterastring:");gets(array);counter(array);return0;} void counter(char*p){ int i,n,numUpperCase=0,numLowerCase=0,numSpace=0,numOther=0;n=strlen(p);for(i=0;i<n;i++){ if(...

相似回答