c语言 输入一个字符串,求出其中大写字母的个数

2025-02-25 23:53:39
推荐回答(3个)
回答1:

#include

void main ()

{

char a[100];

int sum0=0, suma=0, sumA=0;

gets(a);

char *p;

for (p = a; *p != '\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);

}

扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md-->m域宽,打印出来以后,在控制台上,显示m位;

如果要打印的数的位数如果超过我们设定m则原样输出;

如果要打印的数的位数如果小于设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

回答2:

// 已在你的源代码的基础上修改了:
#include 
void main(){
char str[80];
int i,num=0;
printf("please input a line of word:\n");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]>=65&&str[i]<=90)  num++; 

    printf("there are %d word in the line.\n",num);
}

回答3:

#include "stdio.h"
void main()

char str[80];
int i,num=0;
printf("please input a line of word:\n");
gets(str);
for(i=0;str[i]!='\0';i++)

if(str[i]>='A'&&str[i]<='Z')  
num++; 

}
printf("there are %d word in the line.\n",num);}