有只熊463 2022-12-16 00:24 采纳率: 85.3%
浏览 33
已结题

关于#c语言#的问题:help 各位看看我怎么修改才能输出

某厂家现要对产品进行抽检,在主函数中输入待检测的产品数目n和产品的质量信息:用1表示合格,0表示不合格,将产品的质量信息保存在数组中。定义一个函数checkCal(),在主函数中将存放产品质量信息的数组名和产品总数作为实际参数传给函数checkCal()函数,该函数计算出这批产品的合格率并将合格率返回给主函数,在主函数中输出这批产品的合格率

#include <stdio.h>

int checkCal(int n) {
    int hege,a,i=0,j=1,sum=0,x[100];
    while(j<=n) {
        scanf("%d",&a);
        if(a==0) {
            x[i]=j;
            sum++;
            i++;
        }
        j++;
    }
    hege=(float)sum/(float)n;
    return hege;
}
int main() {
    int a, j,n;
    printf("输入需要检查的产品数目:");
    scanf("%d",&n);
    printf("输入需要检查的产品结果 用空格隔开:");
    scanf("%d",&a);
    printf("检测了%d个产品,其中合格产品数量是%d个,合格率为%f:" ,a,j,checkCal(n));
    return 0;
}

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-12-16 09:40
    关注

    修改如下,供参考:

    #include <stdio.h>
    float checkCal(int a[],int n) {
        float hege;
        int   i = 0, cnt = 0;
        for (i = 0; i < n; i++)
            if (a[i]) cnt++;
        hege = ((float)cnt / n) * 100.0;
        return hege;
    }
    int main() {
        int a[100], j, n;
        printf("输入需要检查的产品数目:");
        scanf("%d", &n);
        printf("输入需要检查的产品质量信息(用空格隔开):");
        for (j = 0; j < n; j++)
            scanf("%d", &a[j]);
        printf("检测了%d个产品,产品合格率为%.1f%%", n, checkCal(a, n));
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月24日
  • 已采纳回答 12月16日
  • 修改了问题 12月16日
  • 创建了问题 12月16日

悬赏问题

  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入