PTA 7-140 比例
分数 10
作者 黄龙军
单位 绍兴文理学院
某班同学在操场上排好队,请确定男、女同学的比例。
输入格式:
测试数据有多组,处理到文件尾。每组测试数据输入一个以“.”结束的字符串,串中每个字符可能是“MmFf”中的一个,“m”或“M”表示男生,“f”或“F”表示女生。
输出格式:
对于每组测试数据,在一行上输出男、女生的百分比,结果四舍五入到1位小数。输出形式参照### 输出样例:。
输入样例:
FFfm.
MfF.
输出样例:
25.0 75.0
33.3 66.7
出处:
[1] 黄龙军, 等. 大学生程序设计竞赛入门—C/C++程序设计(微课视频版), 北京:清华大学出版社, 2020.11. ISBN:9787302564744
[2] 黄龙军.程序设计竞赛入门(Python版),北京:清华大学出版社,2021.4. ISBN:9787302571230
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
代码:
#include <stdio.h>
int main() {
char c;
double male = 0.0, female = 0.0;
while( (c = getchar()) != EOF ){ //测试数据有多组,处理到文件尾
if ( c == 'F' || c == 'f'){ //“f”或“F”表示女生
female++;
}
if ( c == 'M' || c == 'm'){ //“m”或“M”表示男生
male++;
}
if ( c == '.' ){ //数据输入一个以“.”结束的字符串
printf("%.1f %.1f\n", male / (male + female) * 100, female / (male + female) * 100); //男生和女生比例
male = 0.0; //初始化,为下一组数据重新开始
female = 0.0; //初始化,为下一组数据重新开始
}
}
return 0;
}
解题思路
某班同学在操场上排好队,确定男、女同学的比例的步骤:
step 1:“m”或“M”表示男生,“f”或“F”表示女生;
step 2:根据公式计算男生和女生比例;
step 3:男女分别初始化,为下一组数据重新开始;
step 4:输出男、女生的百分比,结果四舍五入到1位小数。
归属知识点
数组,循环结构,选择结构