PTA12.09作业

简介: PTA12.09作业

void delchar(char* str, char c)
{
    char* p = str;
int i = 0;
while (*p)
{
    if (*p != c)
    str[i++] = *p;
    p++;
}
str[i] = '\0';
}

用一个指针遍历,遇到不是该字符的,就把它赋给str数组,让后让指针向后移动

void f( char *p )
{
    int left = 0, i = 0;
    for(i = 0;;i++)
    {
        if(*(p+i)=='\0')
            break;
    }
    int right = i - 1;
    while(left<right)
    {
        char ch = 0;
        ch = *(p+left);
        *(p+left) = *(p+right);
        *(p+right) = ch;
        left++;
        right--;
    }
}

这个就是给定一个左右指针,当左指针小于右指针时,进入循环,将左右两指针所指向空间中的元素进行交换,最后就可以得到字符串的逆序,当然Python中有现成的内置函数会更简单一点

int main()
{
    char str[30];
    gets(str);
    char* p = str;
    int i = 0;
    while (*p != '#')
    {
        if (*p >= 'A' && *p <= 'Z')
        {
            *p += 32;
            str[i++] = *p;
            p++;
        }
        else if (*p >= 'a' && *p <= 'z')
        {
            *p -= 32;
            str[i++] = *p;
            p++;
        }
        else
        {
            str[i++] = *p;
            p++;
        }
    }
    str[i] = '\0';
    printf("%s", str);
    return 0;
}

int main()
{
    char str[80], c;
    gets(str);
    scanf("%c",&c);
    int count = 0;
    char* p=str;
    while(*p)
    {
        if(*p == c)
            count++;
        p++;
    }
    printf("%d",count);
}

int is_shu(char* p)
{
    for (int i = 0; i < 17; i++)
    {
        if (*(p + i) <= '0' && *(p + i) >= '9')
        {
            return 0;
        }
    }
}
int Mod(char* p)
{
    int sum = 0;
    sum = ((*p)-'0') * 7 + (*(p + 1)-'0') * 9 + (*(p + 2)-'0') * 10 + (*(p + 3)-'0') * 5 + (*(p + 4)-'0') * 8 + (*(p + 5)-'0') * 4 + (*(p + 6)-'0') * 2 + (*(p + 7)-'0') * 1 + (*(p + 8)-'0') * 6 + (*(p + 9)-'0') * 3 + (*(p + 10)-'0') * 7 + (*(p + 11)-'0') * 9 + (*(p + 12)-'0') * 10 + (*(p + 13)-'0') * 5 + (*(p + 14)-'0') * 8 + (*(p + 15)-'0') * 4 + (*(p + 16)-'0') * 2;
    return sum % 11;
}
int True(char* p)
{
    if(is_shu(p))
        return 0;
    int ret = Mod(p);
    if (ret == 0)
    {
        if (*(p + 17) == '1')
            return 1;
        return 0;
    }
    if (ret == 1)
    {
        if (*(p + 17) == '0')
            return 1;
        return 0;
    }
    if (ret == 2)
    {
        if (*(p + 17) == 'X')
            return 1;
        return 0;
    }
    if (ret == 3)
    {
        if (*(p + 17) == '9')
            return 1;
        return 0;
    }
    if (ret == 4)
    {
        if (*(p + 17) == '8')
            return 1;
        return 0;
    }
    if (ret == 5)
    {
        if (*(p + 17) == '7')
            return 1;
        return 0;
    }
    if (ret == 6)
    {
        if (*(p + 17) == '6')
            return 1;
        return 0;
    }
    if (ret == 7)
    {
        if (*(p + 17) == '5')
            return 1;
        return 0;
    }
    if (ret == 8)
    {
        if (*(p + 17) == '4')
            return 1;
        return 0;
    }
    if (ret == 9)
    {
        if (*(p + 17) == '3')
            return 1;
        return 0;
    }
    if (ret == 10)
    {
        if (*(p + 17) == '2')
            return 1;
        return 0;
    }
}
int main()
{
    int n, a = 0, count = 0;
    char arr[20];
    scanf("%d", &n);
    getchar();
    a = n;
    while (n > 0)
    {
        gets(arr);
        if (True(arr))
            count++;
        else
        {
            printf("%s\n", arr);
        }
        n--;
    }
    if (count == a)
        printf("All passed");
}

这道题并不难,将它按题意拆解成一个一个的小问题即可,

1.判断这17位上是否都位数字

2.求这17位上的数字之和并%11

3.对照这个value判断最后一位上的数字是否正确,这一步用哈希表键值对,或者C++中的map最好,不过当时没有学

相关文章
|
数据采集 人工智能 自然语言处理
1小时让AI员工“上岗接活”:AI实训营活动落地北京城市副中心,云大使专属服务赋能创业者
阿里云云大使深度参与临河里街道曦光OPC创业社区的AI普及实践,通过“专家授课+实操演练+资源对接”模式,帮助从业者快速掌握Qoder系列智能体在文档生成、数据清洗、跨系统协同等场景的落地应用技巧,并为参会者提供专属权益与产品咨询服务,依托阿里云丰富的产品生态与专业服务能力,赋能开发者与推广者,共享 AI 时代发展红利。
1小时让AI员工“上岗接活”:AI实训营活动落地北京城市副中心,云大使专属服务赋能创业者
|
7月前
|
Linux API 数据安全/隐私保护
OpenClaw零门槛部署手册:阿里云+本地多系统搭建+免费大模型配置流程+常见问题解析
OpenClaw(昵称“龙虾”)作为2026年热门的开源AI框架,区别于传统聊天型AI,其核心价值在于能够自动执行任务、操作设备、处理文件、浏览网页,成为真正意义上的“数字员工”。该工具完全开源,支持多平台部署,既可以通过阿里云实现云端7×24小时稳定运行,也能部署在本地MacOS、Linux、Windows11设备上保障数据隐私。本文将详细拆解2026年OpenClaw的部署流程,包括阿里云轻量应用服务器一键部署、ECS手动部署,以及本地三大系统的安装步骤,同时提供阿里云百炼免费API与Coding Plan免费大模型的配置方法,并整理部署与使用中的常见问题,帮助新手零门槛上手。
888 6
|
7月前
|
人工智能 搜索推荐 SEO
虎博科技CEO卢鑫Echo提出:GEO 双轮信任引擎,品牌如何真正进入 AI 信任体系
虎博科技CEO卢鑫(Echo)提出GEO双轮信任引擎方法论,突破“AI版SEO”浅层认知,强调品牌需系统构建AI信任体系:第一轮建立稳定、可被外部反复确认的品牌信号;第二轮将官网打造为AI高引用的原生可信信源。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
阿里云百炼Token Plan解析:一站式AI大模型订阅服务支持模型、收费价格、使用教程
本文深度解析阿里云百炼平台的Token Plan AI模型订阅计划,该计划以统一Credits为计量单位,支持通义千问、DeepSeek等150余款主流大模型,覆盖文本、图像、视频、语音全模态场景,实现一次订阅全模通用。方案分为个人版与团队版,个人版适配独立开发者,团队版支持多席位共享、用量管控与SSO接入,包月包季最高享4.5折,夜间调用Qwen3.8-Max低至2折,还提供智能外呼、云联络中心等场景化组合购套餐,搭配专属优惠券可享折上折,大幅简化AI算力成本核算流程。
|
3月前
|
人工智能
她不是人,却开始代替人了:AI演员来了
AI女演员Tilly Norwood将主演电影《Misaligned》,她由Particle6公司打造,经2000次迭代生成,无真实身体与人生经历。相比真人演员,AI角色可跨平台、全天候、低成本复用,成为品牌可控的“数字资产”。但其训练依赖真人表演数据,引发SAG-AFTRA对劳工权益的担忧。虚拟人崛起已是不可逆趋势。
|
3月前
|
人工智能 移动开发 前端开发
文章转视频用什么软件?图文作者开源自动化工作流的真实复盘
本文为公众号图文作者量身打造,详解“文章→视频”自动化方案:从GPT-SoVITS配音、Whisper对齐、Manim/Stable Diffusion生成画面,到FFmpeg/花生AI合成的全开源管线;再升级至花生AI半自动打包流程。含可运行代码、避坑指南与成本对比,实现低成本批量出片。
|
4月前
|
数据采集 存储 人工智能
AI搜索重构制造业采购逻辑:基于阿里云的企业级GEOCMS优化实践
福建制造企业官网内容多为PDF/图片,AI无法识别,导致“隐形”。本文提出基于阿里云的GEO(生成式引擎优化)方案,含结构化建模、向量知识库、AI引用监测、llms.txt引导四大引擎,助力企业从“人类可读”升级为“AI可理解”,抢占AI搜索新流量。
AI搜索重构制造业采购逻辑:基于阿里云的企业级GEOCMS优化实践
|
3月前
|
人工智能
反欺诈规则引擎实战:从黑名单到AI实时风控
从黑名单到AI实时风控的实战方案
|
前端开发 Go 网络安全
Go语言:xterm.js-websocket Web终端堡垒机
1.前言 因为公司业务需要在自己的私有云服务器上添加添加WebSsh终端,同时提供输入命令审计功能. 从google上可以了解到xterm.js是一个非常出色的web终端库,包括VSCode很多成熟的产品都使用这个前端库.
7807 0
|
4月前
|
存储 人工智能 运维
企业呼叫中心深度选型:SaaS、混合云、私有化部署架构技术对比(2026)
随着企业客服数字化、外呼业务合规化、政企数据安全管控升级,呼叫中心已从传统电话接待工具,演变为全渠道客户联络中台。企业在建设呼叫中心体系时,常会遇到部署架构选择、功能适配、合规落地、系统集成等共性问题。 本文从技术架构、部署模式、业务场景、合规体系、集成能力五个维度,系统性解析企业呼叫中心选型逻辑,客观梳理主流技术方案特征,帮助企业技术负责人、运维、架构师建立标准化选型依据。全文为纯技术调研分析,无商业导向。
501 0