C语言中怎么求百分比?
比如输入5个学生的成绩,怎么求及格率呢?下边是求不及格个数、及格率和平均分。main(){intscore[5];inta1(intb[],intc);inti;for(...
比如输入5个学生的成绩,怎么求及格率呢?下边是求不及格个数、及格率和平均分。
main()
{
int score[5];
int a1(int b[],int c);
int i;
for(i=0;i<5;i++)
{
scanf("%d",&score[i]);
}
a1(score,5);
}
int a1(int b[],int c)
{
int x=0;
int y,z=0,o;
int sum=0;
/*bu ji ge shu:*/
for(y=0;y<5;y++)
{
if(b[y]<60) x++;
}
printf("bu ji ge shu:%d",x);
printf("\n");
/*ji ge lv:*/
y=c-x;
z=(y%c)*100; /*这里用/和%,结果都不正确,应该怎么写?*/
printf("ji ge lv:%d %",z);
printf("\n");
/*ping jun feng*/
for(y=0;y<5;y++)
{
sum=sum+b[y];
}
o=sum/c;
printf("ping jun feng:%d",o);
printf("\n");
} 展开
main()
{
int score[5];
int a1(int b[],int c);
int i;
for(i=0;i<5;i++)
{
scanf("%d",&score[i]);
}
a1(score,5);
}
int a1(int b[],int c)
{
int x=0;
int y,z=0,o;
int sum=0;
/*bu ji ge shu:*/
for(y=0;y<5;y++)
{
if(b[y]<60) x++;
}
printf("bu ji ge shu:%d",x);
printf("\n");
/*ji ge lv:*/
y=c-x;
z=(y%c)*100; /*这里用/和%,结果都不正确,应该怎么写?*/
printf("ji ge lv:%d %",z);
printf("\n");
/*ping jun feng*/
for(y=0;y<5;y++)
{
sum=sum+b[y];
}
o=sum/c;
printf("ping jun feng:%d",o);
printf("\n");
} 展开
展开全部
按照百分比的定义,要求a占b的百分比时,只需要a/b*100即可。
需要注意的是,百分比的结果为实数,需要用浮点数类型(float或double)来储存,当操作数a,b均为整型时,需要先转为浮点型再进行操作,否则会出错。
以输入两个整型数a,b,求a占b的百分比并输出为例,给出参考代码如下:
int a,b;
float r;
scanf("%d%d",&a,&b);//输入a和b。
r = (float)a/b*100;//转为浮点数并计算百分比。
printf("a占b的百分比为%.2f%%\n", r);//输出结果,保留两位小数。需要注意的是,要输出%需要写成%%的形式。
展开全部
main()
{
int score[5];
int a1(int b[],int c);
int i;
for(i=0;i<5;i++)
{
scanf("%d",&score[i]);
}
a1(score,5);
}
int a1(int b[],int c)
{
int x=0;
//int y,z=0,o;
int y0;
double z=0,o=0;
int sum=0;
/*bu ji ge shu:*/
for(y=0;y<5;y++)
{
if(b[y]<60) x++;
}
printf("bu ji ge shu:%d",x);
printf("\n");
/*ji ge lv:*/
y=c-x;
z=(y/c)*100; /*这里用/和%,结果都不正确,应该怎么写?*/
printf("ji ge lv:%.2f",z);
printf("\n");
/*ping jun feng*/
for(y=0;y<5;y++)
{
sum=sum+b[y];
}
o=sum/c;
printf("ping jun feng:%.2f",o);
printf("\n");
}
{
int score[5];
int a1(int b[],int c);
int i;
for(i=0;i<5;i++)
{
scanf("%d",&score[i]);
}
a1(score,5);
}
int a1(int b[],int c)
{
int x=0;
//int y,z=0,o;
int y0;
double z=0,o=0;
int sum=0;
/*bu ji ge shu:*/
for(y=0;y<5;y++)
{
if(b[y]<60) x++;
}
printf("bu ji ge shu:%d",x);
printf("\n");
/*ji ge lv:*/
y=c-x;
z=(y/c)*100; /*这里用/和%,结果都不正确,应该怎么写?*/
printf("ji ge lv:%.2f",z);
printf("\n");
/*ping jun feng*/
for(y=0;y<5;y++)
{
sum=sum+b[y];
}
o=sum/c;
printf("ping jun feng:%.2f",o);
printf("\n");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为定义的都是整型变量所以不对
而且只能用/,%是求余,要强制转换一下
z=float(y)/float(c)*100
而且只能用/,%是求余,要强制转换一下
z=float(y)/float(c)*100
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询