c语言怎样才能输入一行字符,以回车作为结束标志,分别统计出大写字母,小写字母,空格,数字和其他字符?

Python016

c语言怎样才能输入一行字符,以回车作为结束标志,分别统计出大写字母,小写字母,空格,数字和其他字符?,第1张

C代码和运行结果如下:

统计结果正确,望采纳~

附源码:

#include <stdio.h>

int main() {

  char s[100]

  fgets(s, 100, stdin)// 输入一行字符,包括行尾的'\n'

  int i = 0, upper = 0, lower = 0, space = 0, digit = 0, other = 0

  while (s[i] != '\n') {

      if (s[i] >= 'A' &&s[i] <= 'Z')

          upper++

      else if (s[i] >= 'a' &&s[i] <= 'z')

          lower++

      else if (s[i] == ' ')

          space++

      else if (s[i] >= '0' &&s[i] <= '9')

          digit++

      else

          other++

      i++

  }

  printf("大写字母:%d, 小写字母:%d, 空格:%d, 数字:%d, 其他:%d\n",

      upper, lower, space, digit, other)

  return 0

}

C语言输入一行有空格的字符串的方法:

1、对于char

char s[100]

cin.getline(s,1000)//第二个参数表示允许输入的最大长度while(cin.getline(s,1000))

输入输出样例

输入:He llo

输出:He llo

2、对于string

string s

getline(cin,s)while(getline(cin,s))

输入输出样例

输入:He llo

输出:He llo

扩展资料

字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[10]="j",而字符串的零位正是它的长度。

这可以给我们提供很多方便,高精度运算时每一位都可以转化为数字存入数组。

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。

两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

参考资料:

百度百科-字符串

#include <stdio.h>

int main()

{

char str[100]

scanf("%[^\n]", str)

char* p = str

while (*p)

{

if (*p == ' ' || *p == ',' || *p == '.')

*p = '*'

p++

}

printf("%s", str)

}