initial---- 2023-02-09 02:10 采纳率: 86.7%
浏览 66
已结题

C语言字符数组,字符串的运用

题目描述
佳佳在思考一个问题,如果给每个字母赋一个值,那么一个文本的总价值是多少呢?
输入
(只有一组测试数据)输入第一行是26个字母的权值,第2行表示操作次数,接下来有INSERT和DELET两种操作:
INSERT代表向文本插入某个单词,DELETE代表从文本删除某个单词,例如:
INSERT abc 10代表向文本插入10个abc的单词
DELETE abc 5代表从文本删除5个abc的单词
文本一开始是空的(删除和插入操作总共为n次),单词长度不超过10。
输出
输出各种操作后文本的价值。
样例输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
3
INSERT abc 10
INSERT ab 10
DELETE abc 5
样例输出
60


_




  • 写回答

3条回答 默认 最新

  • qzjhjxj 2023-02-09 09:40
    关注

    供参考:

    #include <stdio.h>
    #include <string.h>
    int main()
    {
        int  n, i, m, dig[26], sum = 0, s;
        char Operator[10], str[11];
        for (i = 0; i < 26; i++)
            scanf("%d", &dig[i]);
        scanf("%d", &n);
        while (n--)
        {
            i = 0; s = 0;
            scanf("%s %s %d", Operator, str, &m);
            while (str[i]) {
                s += dig[str[i] - 'a'];
                i++;
            }
            if (strcmp(Operator, "INSERT") == 0)
                sum += s * m;
            if (strcmp(Operator, "DELETE") == 0)
                sum -= s * m;
        }
        printf("%d", sum);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月19日
  • 已采纳回答 2月11日
  • 创建了问题 2月9日

悬赏问题

  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接