上面的大哥太复杂了吧
我 来个简单的:
如果你们
那么我给的程序如下:(否则只需自己调整)
#include stdio.h
int main()
{
float a,eve,d,td=0,tj=0,j;char c;int ra;
shuru:
printf("请输入一个成绩,以及这门课程的学分是多少:(用空格分开)\n");
s:
scanf("%f%f",a,d);
ra=(int)a;
ra=ra/10;
while (ra10||ra0)
printf("成绩是大于0,小于100的,请再次输入!\n");
goto s;
}
while (d0)
printf("课程的学分是一个正数,请再次输入!\n");
switch(ra)
default:j=0;
tj+=j*d;
td+=d;
p:
printf("按c键继续输入成绩,按a键给出该学生的平均绩点.\n");
getchar();
c=getchar();
if ('c'==c)
goto shuru;
else if('a'==c)
goto en;
en:
eve=tj/td;
getchar(); getchar();
好辛苦啊,写了一个多小时.
看在辛苦分上,感谢一下我 吧
我程序已经编译好
#include stdlib.h
int cmp(const void *a, const void *b)
student *x=(student*)a;
student *y=(student*)b;
if(x-score[0] y-score[0])//升序排序(从小到大) 如果改成,就是降序排序(从大到小)
return 1;
return 0;
//上面函数放在struct student下面,需要该结构
//排序方式可以灵活调整,上面我只是用第一门分数进行比较
//排序函数
qsort(stu,STU_NUM,sizeof(stu[0]),cmp);
#includeiostd.h
#includestdlib.h
typedef struct Lesson
float score;
}lesson;
typedef struct Student
lesson *conless;
int lessnum;
}student;
typedef struct MeriteScore
student *stu;
int stunum;
}*merite;
//学生个数初始化 merite me=(merite)malloc(n*sizeof(struct Student));
//学科科目数初始化 me-stu[i].conless=(lesson *)malloc(m*sizeof(lesson));
//你要的结构体
用链表把文件的数据都读进去,然后然后修改链表,之后再把链表内容写进文件!这首先要先创建一个链表吧,这个最好自己摸索,写着写着就有感觉了,好好加油!
①.、写一个主函数,10个成绩放在一个数组里.
这样不就三个函数了吗?,这个题主要让你初步掌握,数组,循环语句的使用,函数的调用,函数参数的传递,函数值的返回等.学习C就自己多练,多想这样会进步,代码就不写了吧,对你不好.
以上就是土嘎嘎小编为大家整理的绩点排序函数c语言相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!