C语言实现成绩统计示例

 更新时间:2022年11月07日 14:41:10   作者:FanterC1107  
这篇文章主要介绍了C语言实现成绩统计示例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

C语言 成绩统计问题

题目描述

某班有学生 n 人,从终端读入 n 及 n 个人学生的成绩,试编程实现以下功能:

①打印出前 3 个最好成绩及取得每个最好成绩的人数;

②若 90 分以上计为优,75-89 分计为“良”,60-74 分计为“中”,60 分以下计为“不及格”,试统计各档成绩所占百分率。

代码:

#include<stdio.h>
int main()
{
	int n,i=1,grade,x_1=0,x_2=0,x_3=0,t,n_1=1,n_2=1,n_3=1,a=0,b=0,c=0,d=0;
	//x_1,x_2,x_3为前三名学生成绩,n_1,n_2,n_3为前三名相应人数,a,b,c,d为每个成绩等级学生数 
	printf("请输入学生人数:");
	scanf("%d",&n);
	getchar();
	do
	{
		printf("请输入第%d个学生的成绩:",i);
		scanf("%d",&grade);
		getchar();
		if(grade>=90) a++;
		else if(grade>=75&&grade<=89) b++;
		else if(grade>=60&&grade<=74) c++;
		else if(grade>=0&&grade<=59) d++;
		else printf("请输入正确成绩:");
		if(grade==x_1) n_1++;
 		else if(grade==x_2) n_2++;
	 	else if(grade==x_3) n_3++;
	 	else if(grade>x_3) {x_3=grade;n_3=1;}
		if(x_1<x_2) {t=x_1;x_1=x_2;x_2=t;t=n_1;n_1=n_2;n_2=t;}
		if(x_1<x_3) {t=x_1;x_1=x_3;x_3=t;t=n_1;n_1=n_3;n_3=t;}
		if(x_2<x_3) {t=x_2;x_2=x_3;x_3=t;t=n_2;n_2=n_3;n_3=t;}//将成绩进行排序 ,相对应的人数也要进行交换 
		i++;
	}while(i<=n);
	printf("第一名为:%d,有%d名\n",x_1,n_1);
	printf("第二名为:%d,有%d名\n",x_2,n_2);
	printf("第三名为:%d,有%d名\n",x_3,n_3);
	printf("成绩等级为“优”占比为:%.2f\n",a*1.0/n);
	printf("成绩等级为“良”占比为:%.2f\n",b*1.0/n);
	printf("成绩等级为“中”占比为:%.2f\n",c*1.0/n);
	printf("成绩等级为“不及格”占比为:%.2f\n",d*1.0/n);
	return 0;
}

运行结果: 

C语言实现成绩统计 ——蓝桥

题目描述

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。

如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。

请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。

#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char* argv[])
{
    
    int i , n , j = 0, k = 0;
    int arr[10001] = { 0 };
    scanf("%d", &n);//输入人数
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);//输入成绩
        if (arr[i] >= 60)
            j++;
        if (arr[i] >= 85)
            k++;
    }
  int jige=0,youxiu=0;
  jige=j*100.0/n+0.5;//实现小数四舍五入
  youxiu=k*100.0/n+0.5;
 
 printf("%d%%\n%d%%", jige,youxiu);输出含有%的结果时要用到%%
    return 0;
}

在这里小编提一下有的编译器可能会出现报错。

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    C4996    'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.    Project7    D:\cccc\Project7\Project7\c7.c    64    

但是这并不影响代码的正确性。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言不用链表完成学生管理系统(完整代码)

    C语言不用链表完成学生管理系统(完整代码)

    这篇文章主要介绍了C语言不用链表完成学生管理系统(完整代码),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • C++编程语言中赋值运算符重载函数(operator=)的使用

    C++编程语言中赋值运算符重载函数(operator=)的使用

    本文主要介绍了C++编程语言中赋值运算符重载函数(operator=)介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • C++类成员初始化的三种方式

    C++类成员初始化的三种方式

    如果静态成员不满足常量性,则不可以就地声明,而且即使常量的静态成员也只能是整型或者枚举型才能就地初始化。而非静态成员变量的初始化则必须在构造函数中进行。首先,先得了解一下C++支持哪几种类成员初始化的方式,下面我们就来看看具体内容吧
    2021-09-09
  • C语言实现超市信息管理系统

    C语言实现超市信息管理系统

    这篇文章主要为大家详细介绍了C语言实现超市信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C语言直接插入排序算法介绍

    C语言直接插入排序算法介绍

    大家好,本篇文章主要讲的是C语言直接插入排序算法介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • C++实现LeetCode(33.在旋转有序数组中搜索)

    C++实现LeetCode(33.在旋转有序数组中搜索)

    这篇文章主要介绍了C++实现LeetCode(33.在旋转有序数组中搜索),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 探究c++虚表实现代码

    探究c++虚表实现代码

    虚表是一种利用程序语言实现的dynamic dispatch机制,或者说runtime method binding机制,也就是我们说的多态。本文简单探究虚表实现方法,一起看看吧
    2021-09-09
  • C++之vector容器的swap方法解读

    C++之vector容器的swap方法解读

    这篇文章主要介绍了C++之vector容器的swap方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • EasyC++编写头文件

    EasyC++编写头文件

    这篇文章主要介绍了C++编写头文件,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码,感兴趣的小伙伴一起来看下面文章的详细介绍吧
    2021-12-12
  • C++实现有向图邻接表的构建

    C++实现有向图邻接表的构建

    这篇文章主要为大家详细介绍了C++实现有向图邻接表的构建,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04

最新评论