十六周结构体2

来源:互联网 发布:智障也有春天 知乎 编辑:程序博客网 时间:2024/05/16 11:47
问题及代码
//定义学生结构体,在结构体数组中,输入了学生学号和两门课的成绩,//计算均分后,输出成绩单,请在下面的程序基础上,将程序补充完整#include <stdio.h>#define N 100  /*N表示最多允许的学生人数*/struct Student{   int num; //学号   int c; //C语言成绩   int math; //数学成绩   float aver;  //两科均分};int main( ){   int n,i,p=0;   //定义结构体数组存放多名同学的成绩   struct Student stu[N];   printf("请输入学生人数: ");   scanf("%d", &n);   printf("请输入学号、C和数学课的成绩: \n");   //输入数据   for(i=0;i<n;i++)   {       scanf("%d %d %d",&stu[i].num,&stu[i].c,&stu[i].math);       stu[i].aver=(stu[i].c+stu[i].math)/2.0;       if(stu[i].c>=60&&stu[i].math>=60)        p++;   }   //输出成绩单   printf("成绩单:\n");   printf("学号\tc\t数学\t平均分\n");   for(i=0;i<n;i++)    printf("%d\t%d\t%d\t%.2f\n",stu[i].num,stu[i].c,stu[i].math,stu[i].aver);   printf("合格的人数:%d\n",p);   return 0;}


 

运行结果

知识点总结

使用制表符\t制作成绩表

学习心得

不要忘记使用换行\n

问题及代码

#include <stdio.h>#define N 100  /*N表示最多允许的学生人数*/struct Student{   int num; //学号   int c; //C语言成绩   int math; //数学成绩   float p;  //科均分,学分绩};int main( ){   int n,i,p,sum1,sum2;   float averc,averm;   sum1=0;   sum2=0;   //定义结构体数组存放多名同学的成绩   struct Student stu[N];   printf("请输入学生人数: ");   scanf("%d", &n);   printf("请输入学号、C和数学课的成绩: \n");   //输入数据   for(i=0;i<n;i++)   {       scanf("%d %d %d",&stu[i].num,&stu[i].c,&stu[i].math);       stu[i].p=(stu[i].c*3+stu[i].math*4)/7.0;       sum1=stu[i].c+sum1;       sum2=stu[i].math+sum2;   }   averc=1.0*sum1/N;   averm=1.0*sum2/N;   //输出成绩单   printf("成绩单:\n");   printf("学号\tc\t数学\t学分绩\n");   for(i=0;i<n;i++)    printf("%d\t%d\t%d\t%.2f\n",stu[i].num,stu[i].c,stu[i].math,stu[i].p);    printf("科均分\t%.2f\t%.2f\n\n",averc, averm);   printf("可以拿到奖学金的同学的学号:\n");   for(i=0;i<n;i++)   {       if(stu[i].c>=60&&stu[i].math>=60&&stu[i].p>=80)        printf("%d ",stu[i].num);   }   return 0;}


 

运行结果

知识点总结

各科成绩乘以学分的和,再除以总学分。

学习心得

制表符的对齐应用
0 0