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");
}
展开
 我来答
风若远去何人留
2015-09-26 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450106
专业C/C++软件开发

向TA提问 私信TA
展开全部

按照百分比的定义,要求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);//输出结果,保留两位小数。需要注意的是,要输出%需要写成%%的形式。
home2001me
2007-06-26 · TA获得超过1072个赞
知道小有建树答主
回答量:993
采纳率:0%
帮助的人:1002万
展开全部
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");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
武大的鬼
2007-06-26 · TA获得超过497个赞
知道小有建树答主
回答量:643
采纳率:0%
帮助的人:227万
展开全部
因为定义的都是整型变量所以不对
而且只能用/,%是求余,要强制转换一下
z=float(y)/float(c)*100
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式