C语言程序填空题。程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。


/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------

题目:程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的
      功能是:将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中
      的学号和姓名,最后输出修改后的数据。

例如:a所指变量中的学号、姓名和三门课的成绩依次是:10001、"ZhangSan"、95、80、88,
      则修改后输出b中的数据应为:10002、"LiSi"、95、80、88。

-------------------------------------------------------*/
#include  <stdio.h>
#include  <string.h>

struct student 
{
        long  sno;
        char  name[10];
        float  score[3];
};
void fun(struct  student  a)
{ 
        struct student  b;   
        int  i;
/***********SPACE***********/
        b = 【?】;
        b.sno = 10002;
/***********SPACE***********/
        strcpy(【?】, "LiSi");
        printf("\nThe data after modified :\n");
        printf("\nNo: %ld  Name: %s\nScores:  ",b.sno, b.name);
        for (i=0; i<3; i++) 
/***********SPACE***********/
                printf("%6.2f ",  b.【?】);
        printf("\n");
}
main()
{ 
        struct student  s={10001,"ZhangSan", 95, 80, 88};
        int  i;
        printf("\n\nThe original data :\n");
        printf("\nNo: %ld  Name: %s\nScores:  ",s.sno, s.name);
        for (i=0; i<3; i++) 
                printf("%6.2f ",  s.score[i]);
        printf("\n");
        fun(s);
}



供参考:

/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的
      功能是:将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中
      的学号和姓名,最后输出修改后的数据。
例如:a所指变量中的学号、姓名和三门课的成绩依次是:10001、"ZhangSan"、95、80、88,
      则修改后输出b中的数据应为:10002、"LiSi"、95、80、88。
-------------------------------------------------------*/
#include  <stdio.h>
#include  <string.h>
struct student
{
    long  sno;
    char  name[10];
    float  score[3];
};
void fun(struct  student  a)
{
    struct student  b;
    int  i;
    /***********SPACE***********/
    b = a;//【 ? 】;
    b.sno = 10002;
    /***********SPACE***********/
    strcpy(b.name,"LiSi");//(【 ? 】, "LiSi");
    printf("\nThe data after modified :\n");
    printf("\nNo: %ld  Name: %s\nScores:  ", b.sno, b.name);
    for (i = 0; i < 3; i++)
        /***********SPACE***********/
        printf("%6.2f ", b.score[i]);//【 ? 】);
    printf("\n");
}
int main()
{
    struct student  s = { 10001,"ZhangSan", 95, 80, 88 };
    int  i;
    printf("\n\nThe original data :\n");
    printf("\nNo: %ld  Name: %s\nScores:  ", s.sno, s.name);
    for (i = 0; i < 3; i++)
        printf("%6.2f ", s.score[i]);
    printf("\n");
    fun(s);
}