输入n和n个学生的成绩(实数),输出不及格率,结果保留两位小数。

输入n和n个学生的成绩(实数),输出不及格率,结果保留两位小数。要求分别用for、while和do-while三种方式实现。要用C语言。

for循环:


#include <stdio.h>
int main()
{
    int i,n,cnt=0;
    double sc;
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {
        scanf("%lf",&sc);
        if(sc<60)
            cnt++;
    }
    printf("%.2lf%%",cnt*100.0/n);
    return 0;
}

while语句

#include <stdio.h>
int main()
{
    int i,n,cnt=0;
    double sc;
    scanf("%d",&n);
    i=0;
    while (i<n)
    {
        scanf("%lf",&sc);
        if(sc<60)
            cnt++;
        i++;
    }
    printf("%.2lf%%",cnt*100.0/n);
    return 0;
}

do while语句

#include <stdio.h>
int main()
{
    int i,n,cnt=0;
    double sc;
    scanf("%d",&n);
    i=0;
    do
    {
        scanf("%lf",&sc);
        if(sc<60)
            cnt++;
        i++;
    }while (i<n);
    
    printf("%.2lf%%",cnt*100.0/n);
    return 0;
}