c语言统计字符串中大写字母出现的次数,[C语言]计算字符串中每个大写字母的出现次数时遇到的问题。...

CloudIDE位于Linux环境,利用数组统计每个字符的数量,存储字符串,最后输出大写字母的数量如:A(3),但是在输出过程中T和X的数量自动加一,遇到这种情况该如何修改?

问题代码:

#include int main()

{int cnt



CloudIDE位于Linux环境中,使用数组对每个字符的数量进行计数,存储字符串,最后输出大写字母的数量,例如:A(3 ),但在输出过程T和X中,X的数量自动增加1。 在这种情况下如何修改?

问题代码:

#include

int main()

{

int cnt = {0 }; //用于计数数字。

char str [200]; //存储字符串。

int i;

printf(“请输入一个字符串:”);

gets(str);

/ * TODO:for遍历字符串并判断str [ i]大于或等于'A'且str [i]小于或等于'Z',则cnt [str [i]]对于(i = 0; i ='A'&& str [i] <='Z')

cnt [str [i]-'A'] + +;

其他;

}

/ * TODO:for循环遍历0到128之间的数字,判断cnt [i]大于或等于0,并输出字母和数字,例如A(3)* /

for(i = 0; i = 0)

printf(“%c(%d)”,'A'+ i,cnt [i]);

}

printf(“ \ n”);

返回0;

}

输出如下图所示。

c语言统计字符串中大写字母出现的次数,[C语言]计算字符串中每个大写字母的出现次数时遇到的问题。..._第1张图片

c语言统计字符串中大写字母出现的次数,[C语言]计算字符串中每个大写字母的出现次数时遇到的问题。..._第2张图片

tcxu

strlen(char *)函数, 您想要的是字符串的实际长度。 主机的for循环数的上限不应为200(sizeof(str))循环,即不应循环200次,而应循环至字符串的末尾,即'\ 0 '。 因为在输入字符串(后面)未使用的内存中,主机运行时可能会输出带有大写字母的字符,例如主机输出的“ T”,“ X”。

循环数应为字符串的实际长度(strlen(str)):

for(i = 0; i

在循环体内 应该删除。

更正后的情况如下:

#include

#include

int main() {

int cnt [128] = {0}; //用于计数数字。

char str [200]; //存储字符串。

int i;

printf(“请输入字符串:”);

gets(str);

/ * TODO:for循环遍历字符串并判断str [i]较大 等于或等于'A'并且str [i]小于或等于'Z',cnt [str [i]]递增1 * /

for(i = 0; i ='A'&& str [i] <='Z')

cnt [str [i]-'A'] ++;

/ * TODO:for循环遍历0到128之间的数字,判断cnt [i]大于或等于 0,并输出字母和数字,例如对于(i = 0; i = 0)

printf(“%c(%d)”,'A'+ i,cnt [i]);

}

printf(“ \ n”);

返回0;

}

请输入字符串:AABcdefZZ

A(2)B(1)C( 0)D(0)E(0)F(0)G(0)H(0)(h)I(0)J(0)K(0)L(0)M(0)N(0)O (0)P(0)Q(0)(h)R(0)S(0)T(0)U(0)V(0)W(0)X(0)Y(0)Z(2)

CloudIDE位于Linux环境中,使用数组计算每个字符的数量,存储字符串,最后输出 大写字母的数量,例如:A(3),但在输出过程中T和X的数量自动增加1。 在这种情况下如何修改?

问题代码:

#include

int main()

{

int cnt [128] = {0 }; //用于计数数字。

char str [200]; //存储字符串。

int i;

printf(“请输入字符串:”);

gets(str);

/ * TODO:要使循环遍历字符串,请判断str [i]大于或等于'A'且str [i]小于或等于'Z',cnt [str [i]]对于(i = 0; i ='A'&& str [ i] <='Z')

cnt [str [i]-'A'] ++;

else;

}

/ * TODO:for循环遍历0到0之间的数字 128,并判断cnt [i]大于或等于0,输出字母和数字,例如对于(i = 0; i = 0)

printf(“%c(%d )“,'A'+ i,cnt [i]);

}

printf(“ \ n”);

返回0;

}

输出如下图所示。

c语言统计字符串中大写字母出现的次数,[C语言]计算字符串中每个大写字母的出现次数时遇到的问题。..._第3张图片

c语言统计字符串中大写字母出现的次数,[C语言]计算字符串中每个大写字母的出现次数时遇到的问题。..._第4张图片

CharlesE

昨天19:48

谢谢,我明白了:+1:

你可能感兴趣的:(c语言统计字符串中大写字母出现的次数,[C语言]计算字符串中每个大写字母的出现次数时遇到的问题。...)