首页 > 其他分享 >循环输入字符,累加所输入的数字字符个数、英语字符个数及其它字符个数,如果是数字字符,则将所有的数字字符对应的数据累加起来,输出数字字符个数、数字字符对应数据累加和、英语字符个数、其它字符个数。

循环输入字符,累加所输入的数字字符个数、英语字符个数及其它字符个数,如果是数字字符,则将所有的数字字符对应的数据累加起来,输出数字字符个数、数字字符对应数据累加和、英语字符个数、其它字符个数。

时间:2022-10-21 19:31:07浏览次数:38  
标签:字符 数字 个数 累加 英语 输入

循环输入字符,累加所输入的数字字符个数、英语字符个数及其它字符个数,如果是数字字符,则将所有的数字字符对应的数据累加起来,输出数字字符个数、数字字符对应数据累加和、英语字符个数、其它字符个数。当输入的是半角(英文)叹号“!”时终止循环。

要求:

用while设计一个无穷循环,每次从键盘读入一个字符,如果这个字符是数字字符(0~9),则将所有输入的数字字符对应的数据(如数字字符’9’对应的数据是9,而不是ASCII码值57。)累加起来,并且数字字符个数增加1,如果输入的字符是英语字符,则对应的英语字符个数增加1,否则其它字符个数增加1,如果输入的字符是半角(英文)叹号“!”,则使用break语句终止整个循环。要求用自增运算符实现字符个数增加1。程序运行后至少输入两个个数字字符、一个大写英语字符和一个小写英语字符、一个其它字符,以便验证程序是否正确。

循环结束后输出数字字符个数、数字字符对应数据累加和、英语字符个数、其它字符个数。

程序代码

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()

{

      int sum=0, m=0, n=0,x ,y=0;

      char c;

      while (x = 1)

      {

         scanf("%c", &c);

         getchar();

         if (c == '!')

                break;

         else if (c >= '0' && c <= '9')

         {

                n++;

                sum = sum + (c - '0');

         }

         else if ((c >= 'a' && c <= 'z') || (c >= 'A' || c <= 'Z'))

                m++;

         else

                y++;

      }

      printf("数字字符个数%d, 数字字符对应数据累加和%d,英语字符个数%d, 其它字符个数%d",n,sum,m,y);

         return 0;

}

注:第一行的声明为使用VS较新版本避免SCANF报错而使用。跟使用的编译器有关。

程序运行结果

循环输入字符,累加所输入的数字字符个数、英语字符个数及其它字符个数,如果是数字字符,则将所有的数字字符对应的数据累加起来,输出数字字符个数、数字字符对应数据累加和、英语字符个数、其它字符个数。_半角

标签:字符,数字,个数,累加,英语,输入
From: https://blog.51cto.com/u_15840186/5784541

相关文章