题目
本题是谭浩强《C程序设计课后习题》第6章第10题。
题目:有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数。
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj
一、解题思路
思路:
1.这篇文章有3行,每行80个字符,可以使用二维数组定义,char a[3][80];
2.使用for循环遍历3行,每行80个字符。这里我们循环3次即可,使用gets()函数输入每行,因为gets()获得的是一行字符串。
3.遍历完后使用双重循环来逐个判断其是否为大写字母,小写字母,数字,空格还是其他字符,这里我们分别使用abcde来定义。
4.将abcde变量输出即可。
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
2.主函数部分
代码如下(示例):
int main() {
char s[3][80] = { 0 };
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int i=0,j=0;
for (i = 0; i < 3; i++)
{
gets(s[i]);
}
for (i = 0; i < 3; i++)
{
for (j = 0; s[i][j]!='\0'; j++)
{
if (s[i][j] >= 'A' && s[i][j] <= 'Z')
a++;
else if (s[i][j] >= 'a'&& s[i][j] <= 'z')
b++;
else if (s[i][j] >= '0' && s[i][j] <= '9')
c++;
else if (s[i][j] == ' ')
d++;
else
e++;
}
}
printf("大写字母:%d,小写字母:%d,数字:%d,空格:%d,其他字符:%d",a,b,c,d,e);
return 0;
}
三、执行结果
输入:
zghydx521
WS LWJ
【】【】【】
输出:
大写字母:5,小写字母:6,数字:3,空格:1,其他字符:12