C语言求学生成绩案例教程

我们先看例题:

从键盘输入某学生的四科成绩,编写程序实现输出四科的总分,平均分,最高分以及最低分。

思路分析

      我们把学生成绩存放到一维数组里,成绩的总分就是数组的全部数值和,平均分用成绩总分除以4即可,成绩最高分就是数组最大值,成绩最低分就是数组最小值。

案例成绩全部初始化为整数,即int数据类型。

1.从键盘输入成绩存放到一维数组里,也就是一维数组数值初始化。

代码如下:

#include <stdio.h>
#define N 4//定义N的值为4,也就是4门科目,下面的代码块里N都表示4
void main(){
	int arr[N];//初始化一个一维数组,用来存放成绩
    int i,j,d;//定义变量
    int sum=0;//初始化总分为0
    int max=0;//初始化成绩最高分为0
	int min=0;//初始化成绩最低分为0
	printf("请输入学科的成绩:\n");
	for(i=0;i<N;i++){
		scanf("%d",&arr[i]);
	}//从键盘输入成绩

2.求成绩总分,也就是求数组全部数值的和

代码如下:

	for(i=0;i<N;i++){
		sum+=arr[i];
	}//总分

3,求成绩最高分和成绩最低分,也就是求数组数值的最大值和最小值。

   求成绩的平均分,成绩总分除以4即可。

代码如下:

 printf("成绩从小到大排序为");//运用冒泡排序的知识点,使成绩按从小到大排序
	printf("\n");
	for(i=0;i<N-1;i++){
		for(j=0;j<N-1-i;j++){
			if(arr[j]>arr[j+1]){
             d=arr[j];
			 arr[j]=arr[j+1];
			 arr[j+1]=d;
			}
		}
	}
	for(j=0;j<N;j++){
		printf("%d\t",arr[j]);//打印输出从小到大排序的成绩
	}
   for(i=0;i<N;i++){
		sum+=arr[i];
	}//总分
    j=sum/N;//平均分
	max=arr[N-1];//成绩最高分
	min=arr[0];//成绩最低分

案例全部代码如下

#include <stdio.h>
#define N 4 //定义N的值为4,也就是4门科目,下面的代码块里N都表示4
void main(){
	int arr[N];//初始化一个一维数组,用来存放成绩
    int i,j,d;//定义变量
    int sum=0;//初始化成绩总分为sum=0
    int max=0;//初始化成绩最高分为max=0
	int min=0;//初始化成绩最低分为min=0
	printf("请输入学科的成绩:\n");
	for(i=0;i<N;i++){
		scanf("%d",&arr[i]);
	}//从键盘输入成绩
    printf("成绩从小到大排序为");//运用冒泡排序的知识点,使成绩按从小到大排序
	printf("\n");
	for(i=0;i<N-1;i++){
		for(j=0;j<N-1-i;j++){
			if(arr[j]>arr[j+1]){
             d=arr[j];
			 arr[j]=arr[j+1];
			 arr[j+1]=d;
			}
		}
	}
	for(j=0;j<N;j++){
		printf("%d\t",arr[j]);//打印输出从小到大排序的成绩
	}
   for(i=0;i<N;i++){
		sum+=arr[i];
	}//总分
    j=sum/N;//平均分
	max=arr[N-1];//成绩最高分
	min=arr[0];//成绩最低分
	printf("\n");
    printf(“成绩总分为%d\n”,sum);
	printf("成绩最高分为%d\n",max);
	printf("成绩最低分为%d\n",min);
    printf("成绩平均分为%d\n",j);
}

代码运行结果如下

 

 补充:案例代码使用了冒泡排序的知识点,如果对冒泡排序知识点有不太了解的朋友可以点击作者关于冒泡排序知识点讲解的博客(C语言实现冒泡排序)进行知识补充

C语言冒泡排序案例讲解

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值