c语言字符个数统计
‘壹’ C璇瑷缂栧啓锛氲緭鍏ヤ换镒忎竴涓插瓧绗︿覆锛岀粺璁¤ュ瓧绗︿覆涓鍑虹幇镄勫瓧绗a镄勪釜鏁帮纴骞惰緭鍑哄叡缁熻$殑涓鏁般
浠g爜濡备笅锛
/*缂栫▼浠庨敭鐩樿緭鍏ヤ竴涓瀛楃︿覆锛岀粺璁¤ュ瓧绗︿覆涓浠'a'鍒'z'鍏26涓灏忓啓瀛楁瘝钖勮嚜鍑虹幇镄勬℃暟锛
灏嗙粨鏋滃瓨鍏ユ暟缁勪腑锛屽苟杈揿嚭*/
#include<stdio.h>
#include<string.h>
#define N 100
main()
{int i,j=0,c[26]={0};
char str[N];
printf("璇疯緭鍏ヤ竴涓瀛楃︿覆锛");
gets(str);
for(i=0;i<strlen(str);i++)/*澶栧惊鐜镓鎻/阆嶅巻瀛楃︽暟缁*/
for(j=0;j<26;j++)
if(str[i]=='a'+j)
{c[j]++;
break;
}
for(i=0;i<26;i++)
printf("%c-%d ",'a'+i,c[i]);/*杈揿嚭瀛楁瘝a-z鍙婂叾鍑虹幇镄勬℃暟*/
}
镓╁𪾢璧勬枡
瀛楃︿覆甯搁噺涓庡瓧绗︽暟缁勭殑鍖哄埆
1锛夊瓧绗︿覆甯搁噺鏄涓涓瀛楃︽暟缁勶纴浣嗘槸鍐呭瑰拰闀垮害鍦ㄥ埯濮嫔寲镞跺氨宸茬粡锲哄畾浜嗭纴涓嶅彲镟存敼锛涘彲浠ラ氲繃涓涓鎸囧悜瀛楃︿覆甯搁噺绗涓涓鍏幂礌镄勬寚阍堟潵璁块梾璇ュ瓧绗︿覆甯搁噺锛
2锛夊瓧绗︽暟缁勬槸涓涓鐢ㄤ簬瀛樻斁瀛楃︾殑鏁扮粍锛屽瓧绗︽暟缁勭殑鍊兼槸鍙浠ユ洿鏀圭殑銆
甯哥敤瀛楃︿覆鍑芥暟锛
1銆佸嶅埗瀛楃︿覆
C 璇瑷涓浣跨敤搴揿嚱鏁 strcpy 𨱒ヨ繘琛屽瓧绗︿覆澶嶅埗镎崭綔锛
char *strcpy(char *dst , char const *src);
鍑芥暟 strcpy 鎺ユ敹涓や釜瀛楃︿覆鍙傛暟锛屽苟灏嗗弬鏁 src 瀛楃︿覆澶嶅埗鍒 dst 鍙傛暟銆备娇鐢 strcpy 鍑芥暟镞堕渶瑕佹敞镒忕殑鏄锛屽繀椤讳缭璇佺洰镙囧瓧绗︽暟缁 dst 镄勯暱搴﹁冻澶熷瓨鏀炬簮瀛楃︽暟缁 src 镄勫唴瀹广
濡傛灉 src 姣 dst 闀匡纴鍒 src 鍓╀綑閮ㄥ垎镄勫瓧绗︿粛浼氲澶嶅埗锛岃屼笖瀹冧滑浼氲嗙洊 dst 钖庨溃镄勫唴瀛樼┖闂寸殑鍊硷纴濡傛灉杩欓櫎鍐呭瓨绌洪棿铡熸湰灏卞瓨鏀炬湁鍊硷纴鍒欎细瀵艰嚧铡熸湰镄勬暟鎹涓㈠け锛岃繖镙蜂细阃犳垚寰堜弗閲岖殑钖庢灉銆备负浜呜В鍐宠繖涓闂棰桡纴 C 璇瑷涓鎻愪緵浜嗕竴绉嶆洿涓哄畨鍏ㄧ殑鏂瑰纺𨱒ヨ繘琛屽瓧绗︿覆澶嶅埗镎崭綔钬斺攕trncpy 鍑芥暟锛
char *strncpy(char *dst , char const *src , size_t len);
2銆佽繛鎺ュ瓧绗︿覆
C 璇瑷涓浣跨敤搴揿嚱鏁 strcat 𨱒ヨ繛鎺ヤ袱涓瀛楃︿覆锛
char *strcat(char *dst,char const *src);
鍑芥暟 strcat 灏嗗弬鏁 src 瀛楃︿覆杩炴帴鍒板弬鏁 dst 瀛楃︿覆镄勫悗闱銆备笌 strcpy 鍑芥暟涓涓钖屾牱镄勯梾棰樻槸锛屽繀椤讳缭璇 dst 镄勫墿浣欑┖闂磋冻澶熷瓨鏀句笅 src 鏁翠釜瀛楃︿覆銆侰 璇瑷涓鎻愪緵浜 strncat 鍑芥暟𨱒ヨВ鍐宠繖涓闂棰桡细
char *strncat(char *dst , char const *src , size_t len);
strncat 鍑芥暟浠 src 涓链澶氩嶅埗 len 涓瀛楃﹀埌鐩镙囨暟缁 dst 钖庨溃锛屽苟涓旓纴strncat 镐绘槸鍦ㄧ粨鏋滃瓧绗︿覆钖庨溃娣诲姞涓涓 NUL 瀛楄妭锛岃屼笖涓崭细镀 strncpy 鍑芥暟闾f牱瀵 dst 鍓╀綑镄勭┖闂寸敤 NUL 杩涜屽~鍏呫
‘贰’ 用c语言编程,字符统计:输入一个文本文件,分别统计出其中英文字母、空格、数字和其它字符的个数
#include <stdio.h>
int main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf("请输入一行字符:");
while ((c=getchar())!=' ')
{
if (c >= 'a'&&c <= 'z' || c >= 'A'&&c <= 'Z')
{
letters++;
}
else if (c == ' ')
{
space++;
}
else if (c >= '0'&&c <= '9')
{
digit++;
}
else
{
other++;
}
}
printf("字母数:%d 空格数:%d 数字数:%d 其他字符:%d ",letters,space,digit,other);
return 0;
}
运行效果:
(2)c语言字符个数统计扩展阅读
printf函数使用注意事项
1、域宽
%d:按整型数据的实际长度输出。
如果想输出指定宽度可以指定域宽,%md-->m域宽,打印出来以后,在控制台上,显示m位;
如果我们要打印的数的位数如果超过我们设定m则原样输出;
如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白)。
2、转义字符
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。
如:printf("%f%%",1.0/3);输出结果:0.333333%。
‘叁’ 用c语言编程,对输入的一行字符进行统计分析,要求统计并输出出现的数字字符及其个数(用冒号分隔)
C代码和运行结果如图:
输出符合样例,望采纳~
附源码:
#include <stdio.h>
int main() {
char s[100]; // 输入不超过100字符
int i = 0, cnt[10] = {0}; // 0-9每个数字字符个数统计
fgets(s, 100, stdin); // 读入一行字符,包括换行符' '
while (s[i] != ' ') { // 遇到换行即到结尾,改成空字符'