发布于2025-01-22 阅读(0)
扫一扫,手机访问
#include
void input(float *g,int n){
int i;
for(i=0; i printf("第 %d 个成绩:",i+1); scanf("%f",&g[i]); } } void output(float *g,int n){ int i; for(i=0; i printf("%d %5.1f\n",i+1,g[i]); } void sort(float *g,int n){ int i,j,k; float t; for(i=0; i t=g[i],k=i; for(j=i+1; j if(g[j]>t) t=g[j],k=j; g[k]=g[i]; g[i]=t; } } float average(float *g,int n){ int i; float s=0.0; for(i=0; i s+=g[i]; return s/n; } void main() { float g[10]; input(g,10); printf("排序前:\n"); output(g,10); float a=average(g,10); printf("平均值:%6.2f\n",a); sort(g,10); printf("排序后:\n"); output(g,10); } 展开全部 楼上的用的是C++ 若单纯的用C那就是这样 #include #define print "NO.%d %d %d %d %d %3.2f %3.2f\n",1+i,stu[i].num,stu[i].mat,stu[i].ENG,stu[i].com,stu[i].aver,stu[i].total//宏定义节约时间 struct student { int num; int mat; int ENG; int com; float aver; float total; }stu[10];//定义结构体变量 void main() { int i; void take_turn_print(struct student stu1[10]) ; float sum(int x,int y,int z);//声明和函数 for(i=0;i<10;i++) scanf("%d%d%d%d",&stu[i].num,&stu[i].mat,&stu[i].ENG,&stu[i].com); for(i=0;i<10;i++) { stu[i].total=sum(stu[i].mat,stu[i].ENG,stu[i].com);//调用和函数 stu[i].aver=stu[i].total/3; } take_turn_print(stu);//调用排序 打印函数 } void take_turn_print(struct student stu1[10]) { void change(int *x,int *y);//声明换位函数 void change1(float *x,float *y);//声明换位函数 int i,j; for(j=0;j<9;j++)//冒泡排序 为理解简单 就没用别的排序方法 哈哈 { for(i=0;i<9-j;i++) { if(stu1[i].aver{ change(&stu1[i].num,&stu1[i+1].num);// 值交换 change(&stu1[i].mat,&stu1[i+1].mat);// 值交换 change(&stu1[i].ENG,&stu1[i+1].ENG);// 值交换 change(&stu1[i].com,&stu1[i+1].com);// 值交换 change1(&stu1[i].aver,&stu1[i+1].aver);// 值交换 change1(&stu1[i].total,&stu1[i+1].total);// 值交换 } } } for(i=0;i<10;i++) printf(print);//打印 } void change(int *x,int *y) { int i; i=*x; *x=*y; *y=i;//利用指针做变量替换 } void change1(float *x,float *y) { float i; i=*x; *x=*y; *y=i;//利用指针做变量替换 } float sum(int x,int y,int z) { float i; i=(float)(x+y+z); return(i); } 前几天也是帮同学做这样的题 一模一样 看来你也是WH大学的 //a为输入的数据数组,n 为数组的元素个数,style 为排序方式 //没有编译器,没测试 void sort(int a[],int n,char style) { int i,j,t; n--; if (style=='a') { while(n>0) {j=0; for(i=0;i if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; j=i; } n=j; } } else { while(n>0) {j=0; for(i=0;i if(a[i]
{ t=a[i]; a[i]=a[i+1]; a[i+1]=t; j=i; } n=j; } } }C语言编写按分数排序的函数
用C编写函数实现排序设计排序算法对N个学生的成绩进行排序
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店