结构体的问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 11:04:43
定义一个学生结构体,包括学生学号、姓名、数学成绩,
对三个学生结构体变量按成绩排序并输出
哪个高手告诉我做下``我实在想不出怎么做这题```
#include <stdio.h>
struct Student
{
char cName[10];
double dbScore;
int nNum;
};后面该怎么写?不初始化,键盘输入``
谢谢
#include <stdio.h>
<br>
<br>struct Student
<br>{
<br> char cName[10];
<br> double dbScore;
<br> int nNum;
<br>}a[100];
<br>
<br>void main()
<br>{
<br> int nI=0,nJ=0,nT=0;
<br> for(nI=0;nI<3;nI++)
<br> {
<br> printf("请输入(姓名,成绩,学号):\n");
<br> scanf("%s,%lf,%d",a[nI].cName,a[nI].dbScore,a[nI].nNum);
<br> }
<br> for(nJ=0;nJ<3;nJ++)
<br> {
<br> if(a[nJ].dbScore<a[nJ+1].dbScore)
<br> {
<br> nT=a[nJ].dbScore;
<br> a[nJ].dbScore=a[nJ+1].dbScore;
<br> a[

这东西还是自己写好,结构体对编程来说很重要的,多多练习吧,实在不明白了看看书,明白了结构体,以后编程也方便,学数据结构也会轻松好多
<br><br>
<br><br>后面就定义个结构体数组 然后往里面放东西了
<br><br>Student S[3];
<br>
<br>scanf("%s,%lf,%d",a[nI].cName,a[nI].dbScore,a[nI].nNum);
<br>换成
<br>scanf("%s,%lf,%d",&a[nI].cName,&a[nI].dbScore,&a[nI].nNum);

明显你的排序程序是错的
> for(nJ=0;nJ<3;nJ++)
<br> {
<br> if(a[nJ].dbScore<a[nJ+1].dbScore)
<br> {
<br> nT=a[nJ].dbScore;
<br> a[nJ].dbScore=a[nJ+1].dbScore;
<br> a[nJ+1].dbScore=nT;
<br> }
<br> }
这个对吗?你好好想想这,到底应该怎么排

是不是你按错了
不会是这样啊?

不明白