目录
实现语言:C
编译器:gcc
题目链接:
题目详情 - 7-3 统计数字字符和空格 (pintia.cn)
题目:
2022-高级语言程序设计练习——循环结构程序设计
7-3 统计数字字符和空格
分数 15
作者 颜晖
单位 浙大城市学院
本题要求编写程序,输入一行字符,统计其中数字字符、空格和其他字符的个数。建议使用switch语句编写。
输入格式:
输入在一行中给出若干字符,最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照
blank = 空格个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。请注意,等号的左右各有一个空格,逗号后有一个空格。
输入样例:
在这里给出一组输入。例如:
Reold 12 or 45T
输出样例:
在这里给出相应的输出。例如:
blank = 3, digit = 4, other = 8
代码长度限制16 KB
时间限制400 ms
内存限制64 MB
AC代码:
#include <stdio.h>
int main(void)
{
char c;
scanf("%c", &c);
int digit = 0; // 数字字符
int blank = 0; // 空格
int other = 0; // 其他字符
// 计数控制用for,计算值和输入值控制一般用while.
// 输入值控制指不知道要循环多少次,根据输入来定,输入在规定范围则继续否则退出
// 下面注释给出"要求输入为字符(这个字符不能是回车),否则(这个字符是回车)则退出循环"的框架:
// – 输入值控制一般框架:
// char c;
// scanf("%c", &c);//或者c = getchar();
// while (c != '\n')
// {
// ……
// c = getchar();//或者scanf("%c", &c);
// }
while (c != '\n')
{
switch (c) // 使用switch语句编写
{
case ' ':
blank++; // 空格
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
digit++; // 数字字符
break;
default:
other++; // 其他字符
break;
}
c = getchar();
}
printf("blank = %d, digit = %d, other = %d\n", blank, digit, other);
return 0;
}