Fault相互干扰,有两个Fault,其中一个Fault会使另一个Fault产生干扰。当两个Fault的时候,只有一个错误,当一个Fault的时候却有两个错误。
附:这次作业
两个Fault,一个错误
#include<stdio.h>
///计算平均数
double average(int n,int number[])
{
double sum=0;
for(int i=0;i<n;i++)sum+=number[i];
return (sum/n);
}
int main(void)
{
int n,a[10];
scanf("%d",&n);
for(int i=0;i<n;i++)scanf("%d",&a[i]);
double mean=average(n,a);///调用函数,计算平均数
printf("平均数:%f ",mean);
printf("小于平均数的数:");
///计算数组中小于等于平均数的个数
int underaverge=0;
for(int i=1;i<n;i++)///Fault1应该为:i=0;
{
if(a[i]<=mean)
underaverge++;
}
printf("小于等于平均数的个数:%d ",underaverge);
int overaverage=n-underaverge-1;///Fault2:应该为: overaverage=n-underaverge;
printf("大于平均数的个数:%d ",overaverage);
}
///测试用例:6
///4,6,8,2,0,10 平均数:5
///小于等于平均数的个数:2 应为:3
///大于平均数3 应为:3
一个Fault,两个错误
#include<stdio.h>
///计算平均数
double average(int n,int number[])
{
double sum=0;
for(int i=0;i<n;i++)sum+=number[i];
return (sum/n);
}
int main(void)
{
int n,a[10];
scanf("%d",&n);
for(int i=0;i<n;i++)scanf("%d",&a[i]);
double mean=average(n,a);///调用函数,计算平均数
printf("平均数:%f ",mean);
printf("小于平均数的数:");
///计算数组中小于等于平均数的个数
int underaverge=0;
for(int i=1;i<n;i++)///Fault1应该为:i=0;
{
if(a[i]<=mean)
underaverge++;
}
printf("小于等于平均数的个数:%d ",underaverge);
int overaverage=n-underaverge;
printf("大于平均数的个数:%d ",overaverage);
}
///测试用例:6
///4,6,8,2,0,10 平均数:5
///小于等于平均数的个数:2 应为:3
///大于平均数4 应为:3