c语言如何编写一个输出学生成绩等级的程序?

如题所述

一、首先打开VC++

二、文件》》新建

三、创建一个C++空白文档头文件是必须声明的# include <stdio.h>

四、说下主体思想我们定义一个求每门课平均成绩的函数AverageCourse它的形参一个是二维数组,用来传递学生成绩;一个是指针变量(数组名),存放每门课的平均成绩:

void AverageCourse(float score[][4],float *avg)

{

int i,j;

float sum;

for(i=0;i<4;i++)

{

sum=0;

for(j=0;j<4;j++)

sum+=score[j][i];

avg[i]=sum/4;

}

}

五、之后我们定义一个求总平均成绩的函数AverageAll

它的形参一个是指针变量(数组名),传递一个首地址

n是要计算的成绩个数

float AverageAll(float *score, int n)

{

int i=0;

float sum = 0;

while(i<n)

{

sum+=score[i];

i++;

}

return sum/n;

}

六、我们还需定义一个查询学生成绩的函数AStudentScore

它的形参一个是指向数组的指针,n是要计算的学生号

void StudentScore(float(*score)[4], int n)

{

int i;

for(i=0; i<4; i++)

printf("%4.2f ", *(*(score+n)+i));

printf("\n");

}

下面是主函数

int main()

{

int num,i;

//定义一个数组aveCourse来存储每门课的平均成绩,

定义变量aveAll来存储总的平均成绩

float aveAll,aveCourse[4];

float score[4][4] = {{67, 78, 45, 88}, {76, 54, 90, 69},  

{99, 45, 88, 99}, {98, 69, 77, 87}};//这是成绩,可以用scanf输入,也可以在这里定义

/* 调用函数AverageAll求16个分数的平均分 */

aveAll=AverageAll(&score[0][0],16);

printf("The average of all courses is:\n  %f\n\n",aveAll);  

/* 调用函数AverageCourse求4门客的平均分 */

AverageCourse(score,aveCourse);

for(i=0;i<4;i++)

printf("The average of %dth course is:\n %f\n",i,aveCourse[i]);

/* 求出序号是num的学生的成绩 */

printf("\nPlease input the num of student(0-3):\n");

scanf("%d", &num);

printf("The score of the %dth student is:\n",num);

StudentScore(score,num);

getch();

return 0;

}

七、程序运行结果

c语言:

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-28

1. 用户对系统数据的输入。

2. 系统计算所对应的每门课程的总分和平均分。

3. 对于相对应学生的数据处理。

4. 排序功能。

a.总分高到低以及总分从低到高

b.学号由大到小

c.姓名字典顺序

5.查询功能。

a.学号查询

b.姓名查询

6.分析数据。

7.输出学生对应的所有数据。

8.数据存入文件的写入与读取。

相似回答