2 条题解

  • 0
    @ 2025-10-4 21:49:09
    #include <stdio.h>
    int main(){
        char p,l,o,k,m;
        int n=0;
        scanf("%c %c %c %c %c",&p,&l,&o,&k,&m);
        if(p=='D')n=n+30;
        if(l=='C')n=n+30;
        if(o=='B')n=n+30;
        if(k=='A')n=n+30;
        if(m=='D')n=n+30;
        printf("%d",n);
        return 0;
    }
    
    • 0
      @ 2025-9-17 19:02:35

      核心逻辑

      1. 明确正确答案为固定字符串 "DCBAD"(5道题对应5个字符);
      2. 对比选手提交的5字符字符串与正确答案:
        • 若对应位置字符相同(选手未选的“E”必然与正确答案不同,得0分),得30分;
        • 否则得0分;
      3. 累加所有题目的得分,输出总分。

      代码实现

      C

      #include <stdio.h>
      
      int main() {
          char correct[] = "DCBAD";  // 正确答案
          char submit[6];            // 存储选手提交(5字符+结束符'\0')
          scanf("%s", submit);
          
          int score = 0;
          // 遍历5道题,对比得分
          for (int i = 0; i < 5; i++) {
              if (submit[i] == correct[i]) {
                  score += 30;
              }
          }
          
          printf("%d\n", score);
          return 0;
      }
      

      C++

      #include <bits/stdc++.h>
      using namespace std;
      
      int main() {
          string correct = "DCBAD";  // 正确答案
          string submit;             // 存储选手提交
          cin >> submit;
          
          int score = 0;
          // 遍历5道题,对比得分
          for (int i = 0; i < 5; i++) {
              if (submit[i] == correct[i]) {
                  score += 30;
              }
          }
          
          cout << score << endl;
          return 0;
      }
      

      Python

      # 正确答案与选手提交
      correct = "DCBAD"
      submit = input().strip()
      
      # 计算总分(对应字符相同则加30分)
      score = sum(30 for c1, c2 in zip(correct, submit) if c1 == c2)
      
      print(score)
      
      • 1

      信息

      ID
      473
      时间
      1000ms
      内存
      64MiB
      难度
      7
      标签
      递交数
      122
      已通过
      26
      上传者