0
点赞
收藏
分享

微信扫一扫

c语言结构体输出两个学生的个人信息及成绩,并比较两人平均成绩的高低

#include <stdio.h>
#include <stdlib.h>

struct Person{
    char arr[20];
    char ch;
    unsigned int age;
};

void personInput(struct Person * pPerson){
    printf("请输入学生信息:请输入姓名:");
    scanf("%s",&(pPerson->arr));
    getchar();
    printf("请输入性别:");
    scanf("%c",&(pPerson->ch));
    printf("请输入年龄:");
    scanf("%u",&(pPerson->age));
}

void personOutput(struct Person * pPerson){
    printf("学生的个人信息为:\n");
    printf("Person: %s的个人信息为:\n",pPerson->arr);
    printf("\t Name: %s\n", pPerson->arr);
    printf("\t Sex : %c\n",pPerson->ch);
    printf("\t Age : %u\n",pPerson->age);
}

struct Grade{
    int math;
    int  english;
    int language;
    float average;
};

void gradeInput(struct Grade * pGrade){
    printf("请输入数学成绩:");
    scanf("%d",&(pGrade->math));
    getchar();
    printf("请输入英语成绩:");
    scanf("%d",&(pGrade->english));
    printf("请输入语文成绩:");
    scanf("%d",&(pGrade->language));
}

void gradeOutput(struct Grade * pGrade){
    printf("\t 数学: %d\n",pGrade->math);
    printf("\t 英语: %d\n",pGrade->english);
    printf("\t 语文: %d\n",pGrade->language);
    printf("\t 平均: %.2f\n",(pGrade->math+pGrade->english+pGrade->language)/3.0);
    printf("\n");
}
struct Student{
    struct Person person;
    long  id;
    struct Grade grade;
};

void studentInput(struct Student *pStudent)
{
   personInput(&pStudent->person);
   printf("请输入学号:");
   scanf("%ld",&(pStudent->id));
   gradeInput(&pStudent->grade);
}

void studentOutput(struct Student *pStudent){

   personOutput(&pStudent->person);
   printf("\t 学号: %ld\n",pStudent->id);
   gradeOutput(&pStudent->grade);
}

int main()
{
    struct Student stu1,stu2;
    void studentInput(struct Student *pStudent);
    void studentOutput(struct Student *pStudent);
    studentInput(&stu1);
    studentInput(&stu2);

 if(stu1.grade.average>stu2.grade.average)
        printf("%s 比 %s 平均成绩低\n",stu2.person.arr,stu1.person.arr);
    else
        printf("%s 比 %s 平均成绩低\n",stu1.person.arr,stu2.person.arr);
        printf("\n");
  studentOutput(&stu1);
  studentOutput(&stu2);
  printf("So Easy!");
  return 0;
}

 

 

 

举报

相关推荐

0 条评论