c语言编写counter函数计算及格率?

作者&投稿:第霄 (若有异议请与网页底部的电邮联系)
~ 下面是一个简单的 C 语言函数,可以用于计算及格率。

```c
#include <stdio.h>

float counter(int arr[], int n) {
int pass = 0; // 及格人数
int total = 0; // 总人数

for (int i = 0; i < n; i++) {
if (arr[i] >= 60) { // 判断是否及格
pass++;
}
total++;
}

float rate = (float)pass / total; // 计算及格率
return rate;
}

int main() {
int scores[] = {70, 85, 50, 60, 90};
int n = sizeof(scores) / sizeof(scores[0]);

float pass_rate = counter(scores, n);

printf("Pass rate: %.2f%%\n", pass_rate * 100);

return 0;
}
```

在上述代码中,`counter` 函数接受一个整型数组和数组大小作为参数,用于计算及格率。函数中使用两个变量 `pass` 和 `total` 来分别记录及格人数和总人数。然后,遍历整个数组,对每一个成绩判断是否及格,最后计算及格率并返回。在 `main` 函数中,我们定义了一个整型数组 `scores` 和数组大小 `n`,然后调用 `counter` 函数来计算及格率。最后,我们通过 `printf` 函数输出计算结果。

请注意,在计算及格率时,需要将及格人数和总人数转换成浮点数,以免整数除法带来的误差。在输出结果时,可以使用 `printf` 函数的格式化字符串来控制输出格式。例如,`%.2f%%` 表示输出一个浮点数并保留两位小数,最后再加上一个百分号表示输出一个百分数。

这只是一个简单的示例,实际使用中可能需要根据具体情况进行修改和优化。

C语言“counter=counter+1”是什么意思?为什么后面要加1?与while有什...
答:counter = counter+1.不加的话意思就不对了啊。就是使courter变量的值增加1啊。\x0d\x0a比如:\x0d\x0aint counter=0;\x0d\x0awhile(counter<10)\x0d\x0a{\x0d\x0aprintf("%d",counter):\x0d\x0acounter = counter+1;//相当于counter++;\x0d\x0a}\x0d\x0a不用counter=counter...

求高人给这个程序注释 关于防盗报警系统的C语言程序
答:counter++; //累加 } if(25 == counter) // 累加到25则清零 { counter = 0;light = ~light; //效果是灯闪 speaker=~speaker; //效果是声音叫 } } } void zs(){ zhishi=s3;zhishi=s1; //忽视 } void fun(){ if(s1==0) baojing(); //因为该函数只调用一次 所...

两个条件中满足其一就重复,在c语言怎么弄
答:1、公用的符号前加上跟其所在源文件有关的前缀。比如:所有在gfxc里的函数都加上前缀“gfx”。2,分两个头文件对于一个C文件,一个是内部使用的函数,另外一个是提供给外部使用的函数。3、所有的全局变量定义道c文件中,然后头文件中使用etern声明。例如,有一个叫“counter”的变量,想让其成为...

求a 到b之间的素数,C语言
答:include <stdio.h> int main(void){ int a,b,counter,j;int temp = 0;while(scanf("%d %d",&a,&b)!=EOF){ if((a==0)&&(b==0))continue;else { for(counter=a;counter<=b;counter++){ temp = 1; //标示是否为素数,1为素数,0为非素数 for(j=2;j<counter;j++){ if(...

c语言total=total+grade; counter = counter+1解释一下,菜鸟蒙了_百度...
答:我不太清楚你想问什么 我就把这个程序的过程讲一遍吧 grade 认为是分数的意思吧 这个程序是求几门成绩的平均分的 total是总分 counter是记录你输入了几门成绩的分数 输入两门的话就是2 首先读取你的输入 记录到grade中 如果是-1的话 就不执行while语句 转到下面执行if语句 如果不...

C语言冒泡排序法将学生成绩按从小到大顺序排列
答:x=0;x<size-1;x++)for(y=0;y<size-1-x;++y)if(data[y].score>data[y+1].score){temp=data[y+1];data[y+1]=data[y];data[y]=temp;}}int main(){ int qty, counter;struct student data[1000]; scanf("%d",&qty);for(counter=0;counter<qty;++counter)scanf(...

C语言:给小学生编写练习20以内加、减法计算的程序。
答:很显眼的一个错误 int grade(int daan,int answer)int edd(int counter,int fenshu,int y)你声明这两函数的候是没有形参的。,但你后来怎么又有形参了。既然有形参,而你调用的时候,也没有放入对应的实参。

求一个只用c语言编写的仓库管理系统
答:include<stdio.h>#include<stdlib.h>#include<string.h>#include<malloc.h>#define max 32int ifempty=0;//标志,判断链表是无否为空typedef struct dnode /* 定义双向链表结构体 */ {int number; /* 货物编号 */char name[max]; /* 货物名称 */ int counter; /* 货物数量 */struct d...

用C语言编写一个程序:从键盘输入n(0<N<100)个整数,计算并输出其中出现...
答:1:次数最多 2:在次数最多的基础上,数值最大 ___以下为程序:include <iostream> // 设置最大值 define MAX 100 typedef struct record { int number[MAX];int counter[MAX];}record;int isExist(int array[], int index, record rd){ int i;int flag = -1;bool finish = true;for ...

C语言链表很不明白,求详细说一下,非常感谢
答:List();void init(int val);//向链表中添加值void deleteNode(int val);bool empty();void output();void calculate();//计算约瑟夫算法void setM(int val);添加私用成员,Node *head;int m;int counter;//记录链表中的节点的个数构造函数:head= (Node*)new(Node);counter = 0;head->...