鱼C论坛

 找回密码
 立即注册
查看: 1760|回复: 3

[已解决]只用简单的C语言基础打代码

[复制链接]
发表于 2023-10-28 20:46:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 朕也来学学 于 2023-10-28 20:47 编辑

只用简单的C语言基础打代码,用for语句,while语句,if 语句和简单的输入输出函数实现


输入一串字符,分别统计其中英文字母、空格、数字及其他字符的个数 ,尽可能简略
最后还有这么做的关键步骤的详细思路
最佳答案
2023-10-28 20:46:13
首先,我们需要使用C语言中的输入函数从用户那里获取一串字符。可以使用 scanf 函数来实现这一步骤。

接下来,我们需要定义四个变量来分别统计英文字母、空格、数字和其他字符的个数。我们可以使用 int 类型的变量来进行计数。

然后,我们可以使用 for 循环或 while 循环来遍历输入的字符。在循环中,我们需要使用 if 语句来判断当前字符是英文字母、空格、数字还是其他字符,并根据判断结果来增加相应的计数器。

最后,我们可以使用C语言中的输出函数,如 printf 函数,将统计结果打印出来。

下面是实现这个功能的代码示例:

  1. #include <stdio.h>

  2. int main() {
  3.     char ch;
  4.     int letterCount = 0;
  5.     int spaceCount = 0;
  6.     int digitCount = 0;
  7.     int otherCount = 0;

  8.     printf("请输入一串字符:\n");

  9.     while ((ch = getchar()) != '\n') {
  10.         if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
  11.             letterCount++;
  12.         } else if (ch == ' ') {
  13.             spaceCount++;
  14.         } else if (ch >= '0' && ch <= '9') {
  15.             digitCount++;
  16.         } else {
  17.             otherCount++;
  18.         }
  19.     }

  20.     printf("英文字母个数:%d\n", letterCount);
  21.     printf("空格个数:%d\n", spaceCount);
  22.     printf("数字个数:%d\n", digitCount);
  23.     printf("其他字符个数:%d\n", otherCount);

  24.     return 0;
  25. }
复制代码


这段代码会提示用户输入一串字符,然后使用 while 循环逐个读取字符,根据字符的类型增加相应的计数器。最后,将统计结果打印出来。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-28 20:46:13 | 显示全部楼层    本楼为最佳答案   
首先,我们需要使用C语言中的输入函数从用户那里获取一串字符。可以使用 scanf 函数来实现这一步骤。

接下来,我们需要定义四个变量来分别统计英文字母、空格、数字和其他字符的个数。我们可以使用 int 类型的变量来进行计数。

然后,我们可以使用 for 循环或 while 循环来遍历输入的字符。在循环中,我们需要使用 if 语句来判断当前字符是英文字母、空格、数字还是其他字符,并根据判断结果来增加相应的计数器。

最后,我们可以使用C语言中的输出函数,如 printf 函数,将统计结果打印出来。

下面是实现这个功能的代码示例:

  1. #include <stdio.h>

  2. int main() {
  3.     char ch;
  4.     int letterCount = 0;
  5.     int spaceCount = 0;
  6.     int digitCount = 0;
  7.     int otherCount = 0;

  8.     printf("请输入一串字符:\n");

  9.     while ((ch = getchar()) != '\n') {
  10.         if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
  11.             letterCount++;
  12.         } else if (ch == ' ') {
  13.             spaceCount++;
  14.         } else if (ch >= '0' && ch <= '9') {
  15.             digitCount++;
  16.         } else {
  17.             otherCount++;
  18.         }
  19.     }

  20.     printf("英文字母个数:%d\n", letterCount);
  21.     printf("空格个数:%d\n", spaceCount);
  22.     printf("数字个数:%d\n", digitCount);
  23.     printf("其他字符个数:%d\n", otherCount);

  24.     return 0;
  25. }
复制代码


这段代码会提示用户输入一串字符,然后使用 while 循环逐个读取字符,根据字符的类型增加相应的计数器。最后,将统计结果打印出来。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-28 20:46:51 | 显示全部楼层
这个问题可以通过以下步骤解决:

1. 首先,你需要创建四个变量来分别存储英文字母、空格、数字和其他字符的数量。这些变量应该在开始时都被初始化为0。

2. 然后,你需要使用一个循环来遍历输入的字符串中的每一个字符。在C语言中,你可以使用for循环来实现这一点。

3. 在循环中,你需要使用if语句来检查当前字符的类型。你可以使用C语言的字符函数来实现这一点,例如,isdigit()函数可以检查一个字符是否是数字,isalpha()函数可以检查一个字符是否是字母。

4. 根据字符的类型,你需要更新相应的计数变量。

5. 最后,你需要打印出每种类型的字符的数量。

以下是一个简单的C语言代码示例来实现这个功能:

  1. #include <stdio.h>
  2. #include <ctype.h>

  3. int main() {
  4.     char str[100];
  5.     int letters = 0, spaces = 0, digits = 0, others = 0;

  6.     printf("请输入一串字符:");
  7.     gets(str);

  8.     for(int i = 0; str[ i] != '\\0'; i++) {
  9.         if(isalpha(str[ i]))
  10.             letters++;
  11.         else if(isspace(str[ i]))
  12.             spaces++;
  13.         else if(isdigit(str[ i]))
  14.             digits++;
  15.         else
  16.             others++;
  17.     }

  18.     printf("英文字母的数量:%d\
  19. ", letters);
  20.     printf("空格的数量:%d\
  21. ", spaces);
  22.     printf("数字的数量:%d\
  23. ", digits);
  24.     printf("其他字符的数量:%d\
  25. ", others);

  26.     return 0;
  27. }
复制代码


这个代码首先读取用户输入的字符串,然后使用for循环遍历字符串中的每一个字符。在循环中,它使用if语句和字符函数来检查字符的类型,并更新相应的计数变量。最后,它打印出每种类型的字符的数量。

注意:这个代码使用了gets()函数来读取用户输入的字符串。然而,gets()函数是不安全的,因为它不检查输入的长度,可能会导致缓冲区溢出。在实际的编程中,你应该使用更安全的函数,如fgets()。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-10-28 21:19:44 | 显示全部楼层
ai的办法太复杂了,我做好了,有需要的可以看看,可能没有55
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         char c;
  5.         int i,letters=0,space=0,dight=0,other=0;
  6.         printf("请输入一行字符:\n");
  7.         while( (c=getchar() )!='\n')
  8.         {
  9.                 if(c>='a' && c<='z' || c>='A' && c<='Z')
  10.                 letters++;
  11.                 else if(c==' ')
  12.                 space++;
  13.                 else if(c>='0' && c<='9')
  14.                 dight++;
  15.                 else
  16.                 other++;
  17.         }
  18.         printf("字母数:%d \n空格数:%d \n数字数:%d  \n其他字符数:%d\n",letters,space,dight,other);;
  19.         return 0;
  20. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 03:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表