使用结构体变量存储学生姓名和课程成绩,计算平均分及查找不及格同学姓名及分数...

 1 struct Student        //声明Student类型结构体变量
 2     {
 3         char name[20];
 4         int score[5];
 5     };
 6 typedef struct Student Stu;
 7 
 8 void main()
 9 {
10 
11     Stu stu[3];      定义Student类型变量数组  
12     int i,j;
13     for(i=0;i<3;i++)      //输入学生姓名和成绩
14     {
15         printf("please input student[%d]'s name and scores:\n",i+1);
16         printf("Name:");scanf("%s",stu[i].name);
17         printf("\nScores:");
18         for(j=0;j<4;j++)
19         {
20             scanf("%d",&stu[i].score[j]);}
21     stu[i].score[j]=0;
22     }
23     void aver(Stu s[],int n);
24     aver(stu,3);      //求平均分
25     void fail(Stu s[],int n);
26     fail(stu,3);      //打印不及格成绩同学成绩
27 }
28 void aver(Stu s[],int n)
29 {
30     int i,j;
31     float sum;
32     for(i=0;i<n;i++)
33     {
34         for(j=0,sum=0.0;j<4;j++)
35         {
36             sum=sum+s[i].score[j];
37         }
38         s[i].score[j]=sum/j;
39     }
40     printf("average scores:\n");
41     for(i=0;i<n;i++)
42     {
43         printf("\n%s :%.1d",s[i].name,s[i].score[4]);
44     }
45     printf("\n");
46 }
47 void fail(Stu s[],int n)
48 {
49     int i,j;
50     for(i=0;i<n;i++)
51     {
52         for(j=0;j<4;j++)
53         {
54             if(s[i].score[j]<60)
55             {
56                 printf("\n%s failed:",s[i].name);
57                 printf("\nScores:");
58                 for(j=0;j<4;j++)
59                     printf("%d\t",s[i].score[j]);
60                 break;
61             }
62         }
63     }
64 }

  结构体类型和int,char,数组等基本类型一样,也是一种C语言数据类型,只不过这是一种自定义数据类型,我们可以根据需求由各种基本数据类型构造。

  使用结构体变量时遵循变量使用的一般规则。一般把结构体类型声明放到代码的最前面,这一可以使其使用范围为整个程序文件;也可以放在头文件里。

转载于:https://www.cnblogs.com/callmebill/p/5599186.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值