如一楼所言,没有多少人有这个时间来给你写.如果你只是为了交作业,建议你端正你的学习态度。如果你是一名学生成绩管理人员,建议稍微学一下Office,用Office进行学生成绩查询排名是很快的,拜托你能不2113能勤快点,这种东西在5261网上4102到处都是,就算你在网上找不1653到,任何一本C语言的专教科书里面都能属找到,在不行库里面也有啊!!!!这是基础,懒到这种地步谢谢。。。。。。以后你的论文也叫别人给你写算了。在加一句没有那个在工作了的人还会无聊到去编这种东西。因为我们都知道要完成这些最简单的是用VB一类的东西www.mh456.com防采集。
#include#includestruct stu{int grade1,grade2,grade3,count,average;stu*next;};void main(){stu*head=NULL,*tail,*p;int num,i=1,good_num=0,pass_num=0;printf("请输入62616964757a686964616fe59b9ee7ad9431333335323462全班学生人数: ");scanf("%d",&num);for(;i<=num;i++){if (i==1){head=tail=(stu*)malloc(sizeof(stu));printf("请输入第%d名学生的3门课程分数: ",i);scanf("%d %d %d",&tail->grade1,&tail->grade2,&tail->grade3);tail->count=tail->grade1+tail->grade2+tail->grade3;tail->average=tail->count/3;tail->next=NULL;}else{p=(stu*)malloc(sizeof(stu));tail->next=p;tail=p;printf("请输入第%d名学生的3门课程分数: ",i);scanf("%d %d %d",&tail->grade1,&tail->grade2,&tail->grade3);tail->count=tail->grade1+tail->grade2+tail->grade3;tail->average=tail->count/3;tail->next=NULL;}}p=head;i=1;while(p){printf("第%d个学生的总分为:%d 平均分为: %d\n",i,p->count,p->average);if(p->average>=85){good_num++;}else if(p->average>=60){pass_num++;}p=p->next;i++;}printf("全班学生成绩优秀人数为:%d\n全班学生成绩通过人数为:%d\n",good_num,pass_num);}
哦哦 搞定了吗 ? 我正在写此类的管理系统啥的 可以搞定哈
void read_data(int s[][3],int m,int n){ int i,j; for(i=0;i
#include #include #include using namespace std; const int Size = 100; // 学生人数 struct Student { int score; int num; inline friend bool operator < ( const Student &s1, const Student &s2 ) { return s1.score > s2.score; } }; St
不知道这算不算你想的结果,我用linux C写的
#include "stdio.h" void main() { int score[3][3], i,j; float sum[3],average[3]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i
#include#include#define MAX_STUDENT 100struct student{ char name[50]; float s1; float s2; float s3; float s4; float s5; float average; float total; int rank;};struct student stu[MAX_STUDENT];int cmp(const void *a, const void *b){ return (int)((*(struct student*)b).total) - (int)((*(struct student*)a).total);}int main(){ int i, snum, gt85_count1, gt85_count2, gt85_count3, gt85_count4, gt85_count5, gt85_countaverage; FILE*infile; char s[256]; snum=0; gt85_count1 = gt85_count2 = gt85_count3 = gt85_count4 = gt85_count5 = gt85_countaverage = 0; infile=(FILE*)fopen("data.txt", "r+"); if(infile==NULL) { printf("Open file error or it does not exist!\n"); exit(0); } while(fgets(s, 256, infile)) { sscanf(s, "%s%f%f%f%f%f", &stu[snum].name, &stu[snum].s1, &stu[snum].s2, &stu[snum].s3, &stu[snum].s4, &stu[snum].s5); stu[snum].total = stu[snum].s1 + stu[snum].s2 + stu[snum].s3 + stu[snum].s4 + stu[snum].s5; stu[snum].average = stu[snum].total/5; if(stu[snum].s1>=85.0)gt85_count1++; if(stu[snum].s2>=85.0)gt85_count2++; if(stu[snum].s3>=85.0)gt85_count3++; if(stu[snum].s4>=85.0)gt85_count4++; if(stu[snum].s5>=85.0)gt85_count5++; if(stu[snum].average>=85.0)gt85_countaverage++; snum++; } qsort(stu, snum, sizeof(struct student), cmp); for(i=0;i=85(%%):%.2f\tcourse2>=85(%%):%.2f\tcourse3>=85(%%):%.2f\n\course4>=85(%%):%.2f\tcourse5>=85(%%):%.2f\taverage>=85(%%):%.2f\n", gt85_count1*100.0/snum, gt85_count2*100.0/snum, gt85_count3*100.0/snum, gt85_count4*100.0/snum, gt85_count5*100.0/snum, gt85_countaverage*100.0/snum); return 0;}输入e69da5e887aa3231313335323631343130323136353331333264633563文件data.txt格式如下:aaa 70.0 80.0 90.0 100 85b 70 70 70 70 70c 75 65 55 85 86e 85 75 65 95 100f 85 95 100 65 62g 99 99 99 99 99内容来自www.mh456.com请勿采集。