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

2024-11-26 18:22:40
推荐回答(5个)
回答1:

#include

#include

voidmain()

{

charsen[100];

unsignedinti;

intspace,A,a,num,other;

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

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

gets(sen);

for(i=0;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重定向到文件。

回答2:

你好

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

#include 
#include 
void out (int k,int n);

void tongji (char str[])  // 传递的参数是数组
{
  int i,n=0,k=0,a;
  for(i=0;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);
}

回答3:

#include
#include
#include
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];表示定义一个字符串
传参用地址就行

回答4:

#include 
#include 
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;
}

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

回答5:

#include

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;
}