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

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日