c语言作业 输入一串字符,以换行符结束输入,统计其中字符a的个数,在C语言中 先输入一串字符串再计算所有字符的个数...

时间:2025-01-29 19:29:13

1. 函数gets的定义如下,当读入一个字符串时,自动将字符串末尾的换行符替换为字符'\0',所以判断字符数组是否读完,应判断当前字符是否等于'\0'

char *gets(char *s)

gets 函数把下一个输入行读入到数组s 中,并把末尾的换行字符替换为字符‘\0’。它返回数组s。

2. 你使用char a[200]={0};实际上是将字符数组中每个字符都初始化为'\0',所以后面while判断的时候应该使用是否等于'\0'进行判断。注:和1有点重复了。

3. 楼上提到的,定义字符数组200是有200个元素,而访问的时候,下表是0~199。

代码如下,你看看:

#include

main()

{

int i = 0, j = 0;

char a[200] = {0};

printf("请输入一串字符串: ");

gets(a);

printf("\n");

printf("您输入的是:%s\n", a);

printf("\n");

while (a[j] != '\0')

{

if ((a[j] >= 'a' && a[j] <= 'z') || (a[j] >= 'A' && a[j] <= 'Z')) i++;

else if (a[j] >= '0'&&a[j]<='9') i++;

else if (a[j] == ' ') i++;

j++;

}

printf("您一共输入了%d个数\n", i);

}