• 2022-07-01
    17. 有3个学生,每个学生都包括学号、姓名和成绩,要求找出成绩最高的学生的姓名和成绩。
  • 答案: #include //包含特殊功能寄存器库 #include //包含I/O函数库 struct student { unsigned char number[10]; unsigned char name[10]; unsigned int grade; }p1[3]; main() { unsigned char i,j=0; SCON=0x52; //串口初始化 TMOD=0x20; TH1=0XF3; TR1=1; printf("input 3 studend number,name and grade:\n"); for (i=0;i[3;i++) { printf("input number:\n"); scanf("%s",p1[i]. number); printf("input name:\n"); scanf("%s",p1[i].name); printf("input grade:\n"); scanf("%d",&p1[i].grade); } for (i=1;i<3;i++) { if (p1[i].grade]p1[j].grade) j=i; } printf("成绩最高的学生是:%s,成绩是:%d",p1[j].name,p1[j].grade); printf("\n"); } while(1); }[/i][/i][/i][/i]

    举一反三

    内容

    • 0

      有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息。

    • 1

      若有3名学生,每名学生的数据成员包括学号、姓名和3门课程的成绩,要求计算出每名学生3门课程的平均成绩,以及输出最高分学生的数据,包括学号、姓名、3门课程的成绩、平均成绩。

    • 2

      要查询出学号为2008001001所有选取修课程的成绩,正确的是()。 A: SELECT学号,姓名,课程代码,总评成绩FROM学生,成绩ON学生.学号=成绩.学号WHERE学号=’2008001001’ B: SELECT学号,姓名,课程代码,总评成绩FROM学生INNERJOIN成绩WHERE学生.学号=成绩.学号AND学号=’2008001001’ C: SELECT学号,姓名,课程代码,总评成绩FROM学生LEFTOUTERJOIN成绩ON学生.学号=成绩.学号WHERE学号=’2008001001’ D: SELECT学号,姓名,课程代码,总评成绩FROM学生,成绩WHERE学生.学号=成绩.学号AND学号=’2008001001’

    • 3

      输入[tex=1.0x1.286]QNrUkbvO4Z6YknsySxvVHA==[/tex]个学生的学号和成绩,要求打印出成绩最高者和最低者的姓名和成绩,以及总平均成绩。

    • 4

      有5个学生,每个学生的数据包括学号、姓名、性别、4门课的成绩,从键盘输入5个学生数据,要求输出4门课的平均成绩,以及平均成绩最高的学生信息(包括学号、姓名、性别、4门课的成绩、平均分数)。 要求用in函数输入5个学生数据;用aver函数求平均分;用max函数找出平均成绩最高的学生数据;学生的数据在out函数中输出。 (提交代码+运行结果)