‘壹’ 用c语言编写输入一字符串,统计字符串中各个字母出现的次数(区分大小写)
//输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
#include
int main(void)
{
char ch;
int a=0,b=0,c=0,d=0;
while((ch=getchar())!='\n')
{
if(ch>='a'&&ch<='z'||ch>='a'&&ch<='z')
a++;
else if(ch>='0'&&ch<='9')
b++;
else if(ch==' ')
c++;
else
d++;
}
printf("字母=%d\n数字=%d\n空格=%d\n其他字符=%d\n",a,b,c,d);
return 0;
}
‘贰’ c语言中如何辨别大小写字母
C语言里面大小写有区分。区别为:用途不同、编译不同、写法不同。
一、不同的用途
1.大写:大写在C语言符号的正常值名称中使用。
2.小写:小写在C语言中用于控制语句和关键字。
二、不同的编译
1.大写:大写符号常量名称不与硬件相关联,并且程度不需要与编译系统支持的各种库相配合。
2.小写:小写控制语句和关键字与硬件相关,需要与编译系统支持的各种库配合使用。
三、写法的不同
1.大写:第一个字符必须是大写字母或知道下划线,否则就不是合法的跟踪变量名。
2.小写:小写控制语句和关键字只能是小写字母或数字,不能加下划线。
(2)c语言字母出现次数区分大小写扩展阅读:
C语言%*的使用
1.如果在scanf中使用,添加*的部分将被忽略(跳过),参数将无法获得。
如:
Inta、b;
字符b[10];
扫描文件(“% d % * s”,& a, b);
输入:
12“ABC”
所以12将被读入变量a,但是在读入之后ABC将被丢弃,没有任何变量(像这里的字符数组b)
使用*和扫描集,您只能从输入中选择需要的内容,而忽略其他内容。
此外,它通常用于清空缓冲区。
2.在printf中,*表示将*的位置替换为下面的形式参数,以实现动态格式的输出。
如:
Printf("%s",10,s);/*表示输出字符串s,但它至少占据10个位置。字符串s左边的空间不足,相当于printf(“%10s”,s);*/
Printf("%。*s\n",int,STR);
//%。*的地方。*表示字符串输出类型的显示精度为宽度
//由*表示的值由以下参数列表中的整数(int)值给出
如:
Printf("%。*s\n",1,"ABC");//输出a
Printf("%。*s\n",2,"ABC");//输出ab
Printf (" %。* s n ", 3, "ABC");//输出ABC >3是相同的效果,因为当遇到'