6-1 分类统计字符个数 (15 分)

news/2024/7/11 1:07:56 标签: jquery, CodeBlock, c++

本题要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。

函数接口定义:
void StringCount( char s[] );
其中 char s[] 是用户传入的字符串。函数StringCount须在一行内按照

letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。

裁判测试程序样例:

#include <stdio.h>
#define MAXS 15

void StringCount( char s[] );
void ReadString( char s[] ); /* 由裁判实现,略去不表 */

int main()
{
    char s[MAXS];

    ReadString(s);
    StringCount(s);

    return 0;
}

/* Your function will be put here */

输入样例:

aZ &
09 Az

输出样例:

letter = 4, blank = 3, digit = 2, other = 1

思路:
1.在头文件中添加#include <string.h>,函数中用到了strlen字符串长度
2.for 循环

void StringCount( char s[] ){
    int len=strlen(s);
    int letter=0,blank=0,digit=0,other=0;
    for(int i=0;i<len;i++)
    {
        if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) letter++;
        else if(s[i]==' '||s[i]=='\n') blank++;
        else if(s[i]>='0'&&s[i]<='9') digit++;
        else other++;
    }
    printf("letter = %d, blank = %d, digit = %d, other = %d\n",letter,blank,digit,other);
    

}

在这里插入图片描述

#include <stdio.h>
#include <string.h>
#define MAXS 15

void StringCount( char s[] )
{
    int length=strlen(s);
    int i,letter=0,blank=0,digit=0,other=0;
    for(i=0;i<length;i++)
    {
        if(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z')
        {
            letter++;
        }
        else if(s[i]==' '||s[i]=='\n')
        {
            blank++;
        }
        else if(s[i]>='0'&&s[i]<='9')
        {
            digit++;
        }
        else
        {
            other++;
        }
    }
    printf("letter=%d,blank=%d,digit=%d,other=%d",letter,blank,digit,other);
}
void ReadString( char s[] ) /* 由裁判实现,略去不表 */
{
    int i;
    for(i=0;i<10;i++)
    {
        scanf("%c",&s[i]);
    }
}

int main()
{
    char s[MAXS];

    ReadString(s);
    StringCount(s);

    return 0;
}



http://www.niftyadmin.cn/n/954894.html

相关文章

6-3 求左子串* (20 分)

请编写函数&#xff0c;求左子串。 函数原型 char* StrLeft(char *dst, const char *src, int len); 说明&#xff1a;函数取源串 src 的前 len 个字符&#xff0c;保存到目的串 dst 中&#xff0c;函数值为 dst。若 len 值不正确&#xff0c;则自动修正。 裁判程序 #include…

微机原理与接口技术课后答案

3.2习题 1.微处理器内部结构由哪几部分组成?阐述各部分的主要功能。 2.微处理器级总线有哪几类?各类总线有什么作用? 3.为什么地址总线是单向的,而数据总线是双向的? 4.8086/8088微处理器内部有哪些寄存器?其主要作用是什么? 5.如果某微处理器有20条地址总线和16条…

如何使DEVC++的编译运行变快呢?解决Dev-C++ 编译慢 黑框运行极慢?DEVC++中连接器加入以下命令-static-libstdc++ -static-libgcc ?

I. 如何使DEVC的编译运行变快呢 II. 解决Dev-C 编译慢 黑框运行极慢 III. DEVC中连接器加入以下命令-static-libstdc -static-libgcc 第一步 打开DEV-C&#xff0c;点击菜单栏中的“工具”&#xff0c;点击“编译选项”这个选项&#xff0c;打开编译选项对话框。 第二步 选中“…

DFS深搜解决迷宫问题

/* 读入一个m行n列的数组&#xff0c;其中1表示空地&#xff0c;2表示障碍物&#xff1b; //从起始点走到终点距离最短是多少&#xff0c;要求给出起始点和终点坐标。 5 4 1 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 2 1 1 4 3 */// (x-1,y) // (x,y-1) (x,y) (x,y1) //…

迷宫 DFS(蓝桥杯2017)

[蓝桥杯2017初赛]迷宫 DFS 题目描述 X星球的一处迷宫游乐场建在某个小山坡上。它是由10x10相互连通的小房间组成的。 房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则: L表示走到左边的房间,R表示走到右边的房间,U表示走到上坡方向的房间,D表示走到…

2017-C组-算式900

小明的作业本上有道思考题: 看下面的算式: (□□□□-□□□□)*□□=900 其中的小方块代表09的数字,这10个方块刚好包含了09中的所有数字。 注意:0不能作为某个数字的首位。 小明经过几天的努力,终于做出了答案!如下: (5012-4987)*36=900用计算机搜索后,发现还有另…

第十三届蓝桥杯模拟赛题目(执梗)

问题描述 以下是一个 25 行 25 列的字母矩阵 ,全部由字母 A和 B 组成。 AAAAAAABABBAABABABAAAAAAA ABBBBBABBAABBBBBABABBBBBA ABAAABABBBABAABBBBABAAABA ABAAABABBBBBAABAABABAAABA ABAAABABBABABBABABABAAABA ABBBBBABBBABAABBBBABBBBBA AAAAAAABABABABABABAAAAAAA…

LQB---基础练习---十六进制转八进制

试题 基础练习 十六进制转八进制 资源限制 内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,…