[求助]作业题目.我们离散离散老师要我们用C做离散题目
题目是 在一个班级的50个同学中,有26个人在第一次考试中得A,有21个同学在第二次考试中得A,假如有17个学生在两次考试中都没有得到A,问有多少学生在两次考试中都得A?
我上学期学了C,这学期忘的差不多了,麻烦各位大侠了!
题目是 在一个班级的50个同学中,有26个人在第一次考试中得A,有21个同学在第二次考试中得A,假如有17个学生在两次考试中都没有得到A,问有多少学生在两次考试中都得A?
怎么算?用数组。建立二维数组a[50][2],因为有每人有两个成绩。
#include<stdio.h>
int main()
{
int i,j; char a[50][2]={0}; //用0表示“空表”
for(i=0;i<17;i++) //用两个'B'代表“都没有得到A”的17人
a[i][0]=a[i][1]='B';
for(i=j=0;j<26;j++) //填充“在第一次考试中得A”的那26个人
{ while(a[i][0]!=0)i++; //找“空表”
a[i][0]='A'; }
for(i=50-1,j=0;j<21;j++) //填充“在第二次考试中得A”的那21个人
{ while(a[i][1]!=0)i--;//找“空表”
a[i][1]='A'; }
for(j=i=0;i<50;i++) //搜索“在两次考试中都得A”的人
if(a[i][0]=='A'&&a[i][1]=='A')j++;
printf("据统计,两次都得A者有%d人\n",j);
return 0;
}