书海shuhai 2022-04-04 00:38 采纳率: 50%
浏览 51
已结题

关于C#成绩打分系统的代码原理

  如果用窗体设计20(或者更多)选择题,或者直接用代码表示;有的人只做对几个,有的人只做错几个,各种情况都有,那么如何来筛选判断最后的成绩得分?如果用if选择结构来判断筛选,那么就要考虑到所有的情况,至少要反复筛选几十次,所以我就想知道有没有稍微简单一点点的算法……
  • 写回答

1条回答 默认 最新

  • wander303 2022-04-04 08:26
    关注

    用for循环,一个数组装每到题目的分值,另一个数组装每到题目是否正确或者转每道题的得分比例(因为不是所有题目都是只有满分和0分),如第一题20分,做对了权值为1,做错了权值为0得分分别为20×1和20×0
    以下是C语言实现(原谅我没学过C#)

    #include "stdio.h"
    
    int CalcResult(int *grade,int *istrue,int n)//grade为分数数组,根据istrue[i]是0还是1判断第i+1到题是否正确,n为总题目数 
    {
        int i,result=0;
        for(i=0;i<n;i++)
        {
            printf("你第%2d题总分为%3d 得分为:%3d\n",i+1,grade[i],istrue[i]*grade[i]);
            result+=grade[i]*istrue[i];
        }
        return result;
    }
    
    int main()
    {
        int grade[20],istrue[20],i;
        for(i=0;i<20;i++)
        {
            grade[i]=(i+1);//给每道题赋分
            istrue[i]=i%2;//模拟批改a 
        }
        printf("result=%d",CalcResult(grade,istrue,20));
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 4月4日

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路