注册 登录
编程论坛 C语言论坛

某班有N人,每人上4门课,输入每门课所有同学的成绩,统计每门课的优秀率和不及格率。程序中假设N为10。

sfb43 发布于 2020-06-07 23:52, 3532 次点击
只有本站会员才能查看附件,请 登录

请问为什么不论我输入什么,最后输出的都是0.00%?
某班有N人,每人上4门课,输入每门课所有同学的成绩,统计每门课的优秀率和不及格率。程序中假设N为10。
输入输出格式示例:
输入:
92 78 73 59.5 80 91 89 70 65 68<回车>
93 94 90 89 80 85 78 73 66 62<回车>
87 84 86 78 76 73 65 55 45 42<回车>
90 92 78 74 76 73 65 66 50 58<回车>
输出:
1: Excellent=20.00%,Fail=10.00%
2: Excellent=30.00%,Fail=0.00%
3: Excellent=0.00%,Fail=30.00%
4: Excellent=20.00%,Fail=20.00%
8 回复
#2
吹水佬2020-06-08 07:51
%d

%f
#3
sfb432020-06-08 08:26
回复 2楼 吹水佬
只有本站会员才能查看附件,请 登录

改了之后输出的还是0.00%
#4
吹水佬2020-06-08 08:51
贴代码看看
图片的代码好象文不对题
#5
sfb432020-06-08 09:48
回复 4楼 吹水佬
那个我还没写完,写到一半就和那个图里的一样
程序代码:

#include<stdio.h>
int main(){
    int N,i,j,g;
    N=10;
    float a[4][N];
    for(i=0;i<4;i++){   
    for(j=0;j<N;j++)
    scanf("%f",&a[i][j]);
}
    for(j=0;j<N;j++){
  if(a[0][j]>=90)
        g++;         
        }
        printf("%.2f%%",g*10);
    return 0;
}
#6
吹水佬2020-06-08 09:57
g++; 这个g的初始值是什么?
#7
sfb432020-06-08 12:30
回复 6楼 吹水佬
g的初始值为0
#8
chxchxkkk2020-06-08 23:43
修改如下:
程序代码:

#include <stdio.h>
#define N 10

int main()
{
    float a[4][N] = {0};
    int i, j, g=0, k = 0;
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < N; j++)
            scanf("%f", &a[i][j]);
    }


    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < N; j++)
        {
            if (a[i][j] >= 90)
                g++;
            if (a[i][j] < 60)
                k++;
        }
        printf("Excellent= %.2f %%, Fail= %.2f %%\n", g*10*1.0, k*10*1.0);
        g = 0;
        k = 0;
    }

    getchar();
    return 0;
}

只有本站会员才能查看附件,请 登录
#9
sfb432020-06-09 08:55
谢谢啦!
1