int[,] answers ={{0,1,4,4},{0,2,3,4},{1,2,4,4},{0,2,3,4},{1,4,4,4}};//答案索引
int[,] selects ={ { 4, 4, 4, 4}, { 4, 4, 4, 4}, { 4, 4, 4, 4}, { 4, 4, 4, 4}, {4,4,4,4}};//用户的选择初始化
int[] score2 = { 0, 0, 0, 0, 0 };
private void ComputeSelecteds()
{
for (int j = 0; j < 4; j++)
if (ch[j].Checked)
selects[comboBox2.SelectedIndex,j] = j;
}
private void button1_Click(object sender, EventArgs e)
{
ComputeSelecteds();
int sum2 = 0;
for (int j = 0; j < m; j++)
{
for (int p = 0; p < 4; p++)
{
for (int q = 0; q < 4; q++)
{
if (answers[j, q] == selects[j, p])
score2[j] = 1;
else
score2[j] = 0;
}
sum2 += score2[j];
label2.Text = "您的得分为:" + sum2.ToString();
}
}
}
这是部分代码,计算得分一直算不出预想结果
//能看出来遍历和数组赋值有问题,你用断点调试下
如果是我 我的思路是 创建一个层 然后动态输出HTML赋值给层,同时给复选框一个值,如果有选错比如说值为0 则得分为0 你写的太复杂了