实验2_10_数字统计一 (100 point(s))

请你写一段程序,统计各类数字的占比。

提示:输出%时需要用%%才能输出。

输入格式:

只有一行,为用空格分隔的若干整数,最后一个整数为0。测试用例保证输入中只包含这一个0。

输出格式:

共三行,依次分别输出3、5、7的倍数的占比(如果某个数同时为多个数的倍数,如15,70等,则不参与统计,但要计到总数中)。占比采用百分数形式,且保留2位小数。这里的占比指的是这类数字的数量跟所有数字的总数(不包括最后的0)比。测试用例保证所有整数可以用int存储。

输入样例:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0

输出样例:

25.00%
15.00%
10.00%

代码如下

#include<stdio.h>
int main(){
    
    int e,f=0,g=0;
    float m=-1;\\注意这里最后会多计入一个数字个数,就是那个0;而且方便算比例用浮点型
    int n=1;\\创建循环让循环开始
    
    while(n!=0){
    scanf("%d",&n);
    m++;
    if((n%3==0)&&(n%5!=0)&&(n%7!=0))
    e++;
    else if((n%5==0)&&(n%3!=0)&&(n%7!=0))
    f++;
    else if((n%7==0)&&(n%3!=0)&&(n%5!=0))
    g++;
    
    }
 printf("%.2f%%\n%.2f%%\n%.2f%%\n",100*e/m,100*f/m,100*g/m);
 return 0;
    }

上一篇:「JSOI2007」合金


下一篇:POJ--Catch That Cow(BFS最短路)