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日

悬赏问题

  • ¥15 workstation加载centos进入emergency模式,查看日志报警如图,怎样解决呢?
  • ¥50 如何用单纯形法寻优不能精准找不到给定的参数,并联机构误差识别,给定误差有7个?matlab
  • ¥15 workstation加载centos进入emergency模式,查看日志报警如图,没有XFS,怎样解决呢?
  • ¥20 求各位解释一道区间DP
  • ¥15 应用商店如何检测在架应用内容是否违规?
  • ¥15 Ubuntu系统配置PX4
  • ¥50 nw.js调用activex
  • ¥15 数据库获取信息反馈出错,直接查询了ref字段并且还使用了User文档的_id而不是自己的
  • ¥15 将安全信息用到以下对象时发生以下错误:c:dumpstack.log.tmp 另一个程序正在使用此文件,因此无法访问
  • ¥15 速度位置规划实现精确定位的问题