1 条题解

  • 0
    @ 2025-8-24 22:48:39

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Yves0709
    三思而后行

    搬运于2025-08-24 22:48:39,当前版本为作者最后更新于2023-07-24 22:14:51,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题意

    给定一个长度为 88 的字符串 ss,统计 ss 中大小写字母和数字字符的个数。

    本题可以使用字符数组或 string 类型,这里给出两种方法代码,代码如下。

    1. 使用数组

    #include <bits/stdc++.h>
    using namespace std;
    
    char s[10];
    int num, big, small;//num记录数字出现个数,big记录大写字母,small记录小写字母。
    
    int main()
    {
    	scanf("%s", s);//读入。
    	for (int i = 0; i < strlen(s); i++)//循环查找每一个字符
    	{
    		if ('0' <= s[i] && s[i] <= '9') num++;//数字
    		else if ('a' <= s[i] && s[i] <= 'z') small++;//小写字母
    		else if ('A' <= s[i] && s[i] <= 'Z') big++;//大写字母
    	}
    	printf("%d %d %d\n", num, small, big);//输出
    	return 0;
    }
    

    2. 使用 string 类型

    #include <bits/stdc++.h>
    using namespace std;
    
    int num, big, small;
    string s;//定义string类型,要写#include <string>,这里因为使用了万能头,就不加了。
    
    int main()
    {
    	cin >> s;//cin读到空格结束,如果要读取整行,使用getline(cin, s);。
    	for (int i = 0; i < s.size(); i++)
    	{
    		if ('0' <= s[i] && s[i] <= '9') num++;
    		else if ('a' <= s[i] && s[i] <= 'z') small++;
    		else if ('A' <= s[i] && s[i] <= 'Z') big++;
    	}
    	printf("%d %d %d\n", num, small, big);//输出
    	return 0;
    }
    
    • 1

    信息

    ID
    8894
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者