C语言三科成绩分段函数 成绩分档c语言

共3门学科,要求用C语言编程,输入全班成绩,并把它们的平均分进行排序,如何做到?

#includestdio.h

我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、东营区ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的东营区网站制作公司

#includestring.h

#includemalloc.h

#define stuNum  3 //假设全班学生3人  太多我懒得输,反正测试,你想改多少自己改

#define nameLen 11 //学科名称的最大字符数  我预设最多5个中文字  不满意自己改

typedef struct xueke

{

char xkName[nameLen];//学科名称

float xkp;//学科平均分

}XK;

int main()

{

int y[stuNum],s[stuNum],w[stuNum],i,j;//定义语文 数学 外语 三学科

int numsave,sum[]={0,0,0};//记录三科成绩和

char *nameSave=(char *)malloc(sizeof(char)*nameLen);

XK xk[3];//记录三科名称及平均分

//录入成绩

printf("录入%d名学生的语文成绩:\n",stuNum);

for(i=0;istuNum;i++)

{

scanf("%d",y[i]);

sum[0]=sum[0]+y[i];

}

printf("录入%d名学生的数学成绩:\n",stuNum);

for(i=0;istuNum;i++)

{

scanf("%d",s[i]);

sum[1]=sum[1]+s[i];

}

printf("录入%d名学生的外语成绩:\n",stuNum);

for(i=0;istuNum;i++)

{

scanf("%d",w[i]);

sum[2]=sum[2]+w[i];

}

strcpy(xk[0].xkName,"语文");

xk[0].xkp=(float)sum[0]/stuNum;

strcpy(xk[1].xkName,"数学");

xk[1].xkp=(float)sum[1]/stuNum;

strcpy(xk[2].xkName,"外语");

xk[2].xkp=(float)sum[2]/stuNum;

for(i=0;i3;i++)

{

for(j=i;j3;j++)

{

if(xk[i].xkpxk[j].xkp)//降序排列

{

numsave=xk[i].xkp;

memset(nameSave,0,nameLen);

strcpy(nameSave,xk[i].xkName);

xk[i].xkp=xk[j].xkp;

memset(xk[i].xkName,0,nameLen);

strcpy(xk[i].xkName,xk[j].xkName);

xk[j].xkp=numsave;

memset(xk[j].xkName,0,nameLen);

strcpy(xk[j].xkName,nameSave);

}

}

}

//打印

printf("降序排列\n");

for(i=0;i3;i++)

{

printf("学科:%s 平均分:%.1f\n",xk[i].xkName,xk[i].xkp);

}

}

在c语言中用调用函数求三个同学三科的总成绩,怎么编程

#include stdio.h 

#define N 100

/*定义学生结构体*/    

struct Student    

{    

int  ID;   

char Name[20];   

float Mark1;    

float Mark2;  

float Mark3; 

float Sum;    

};   

/*声明学生数组及学生数量*/    

struct Student students[N];    

//int num=0;  

/*求总分*/    

float Sums(struct Student stu)   

{    

return stu.Mark1+stu.Mark2+stu.Mark3;  

}    

/*输入学生信息*/    

int Student_Input(){  

int num=0;

while(1){    

//printf("请输入学号:");   

students[num].ID=num+1; //可以自行将学号改为手工输入

printf("请输入姓名:"); 

scanf("%s",students[num].Name);  

getchar();  

printf("请输入成绩1:"); 

scanf("%f",students[num].Mark1); 

getchar();  

printf("请输入成绩2:"); 

scanf("%f",students[num].Mark2); 

printf("请输入成绩3:"); 

scanf("%f",students[num].Mark3); 

getchar();  

students[num].Sum=Sums(students[num]);   

num++;  

printf("是否继续?(y/n)"); //继续输入数据?

if (getchar()=='n'){  

break;  

}    

}  

return num;  

}  

/*输出学生信息*/   

void Student_Display(int n)   

{   

int i;    

printf("%10s%10s%8s%8s%8s%8s\n","学号","姓名","成绩","成绩","成绩","总成线");  

printf("---------------------------------------------------------\n");  

for (i=0;in;i++)  

{  

printf("%10d%10s%8.2f%8.2f%8.2f%8.2f\n",students[i].ID,students[i].Name,  

students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Sum);  

}  

/*主程序*/    

int  main(){ 

int n=0;

n=Student_Input();

Student_Display(n); 

return 0;  

}

用c语言写程序 给定某个学生三门课成绩,求其总分和平均分。

#include"stdio.h"

int main (void)

{

int a,b,c;//定义三个变量啊a,b,c分别存放三门课的成绩

double sum,ave;//定义sum和ave分别存放三门成绩的和与平均值

printf("请输入三门课程的成绩a= b= c= ");

scanf("%d%d%d",a,b,c);

sum=a+b+c;//求三门课程的和

ave=(a+b+c)/3.0;//求三门课程的平均值

printf("输出三门课程的总分及平均分sum=%lf\nave=%lf\n",sum,ave); //将总分及平均法进行输出

return 0;

}

c语言编写三个函数分别求某学生三门课程总成绩和平均成绩和及格率

struct Student{

char name[30];

double C; // 语文成绩

double M; // 数学成绩

double E; // 英语成绩

};

typedef struct Student Student;

/* 学生的总成绩 */

void Total(Student* st){

printf("总成绩: %.2f\n", st-C+st-M+st-E);

}

void Avg(Student* st){

double x = (st-C+st-E+st-M)/3.0;

printf("平均分: %.2f\n", x);

}

void Pass(Student* st){

double x=0;

if(st-C = 60){

x++;

}

if(st-E =60){

x++;

}

if(st-M = 60){

x++;

}

printf("及格率为: %.2f\n", x/3.0);

}

int main(){

Student st;

strcpy(st.name, "xiaoming");

st.C = 70;

st.E = 59;

st.M = 100;

Total(st);

Avg(st);

Pass(st);

while(1);

return 0;

}


标题名称:C语言三科成绩分段函数 成绩分档c语言
本文URL:http://scyanting.com/article/dogpjgi.html