第四次作业
6-1 按等级统计学生成绩
1.设计思路
(1)第一步:分析题意定义整型变量
第二部:运用指针,按要求输入
(2)流程图
无
2.实验代码
int set_grade( struct student *p, int n )
{
int count=0,i;
for(i=0;i<n;i++)
{
if((p+i)->score>=85&&(p+i)->score<=100)
(p+i)->grade = 'A';
else if((p+i)->score>=70&&(p+i)->score<=84)
(p+i)->grade = 'B';
else if((p+i)->score>=60&&(p+i)->score<=69)
(p+i)->grade = 'C';
else if((p+i)->score>=0&&(p+i)->score<=59)
{
(p+i)->grade = 'D';
count++;
}
}
return count;
}
3.本体调试过程碰到问题及解决办法
错误信息1:无
错误原因1:无
git地址:https://git.coding.net/FengBY/61.git
6-2 结构体数组按总分排序
1.设计思路
(1)第一步:定义整型变量。
第二部:在草纸上模拟草图。
第三部:用C语言编写程序。
(2)流程图
无
2.实验代码
#include<string.h>
void calc(struct student *p,int n)
{
int i;
for(i=0;i<n;i++)
{
(p+i)->sum=(p+i)->score[0]+(p+i)->score[1]+(p+i)->score[2];
}
}
void sort(struct student *p,int n)
{
int i,j,k,m;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if((p+j)->sum>(p+k)->sum)
{
k=j;
}
}
if(k!=i)
{
struct student t;
t=*(p+i),*(p+i)=*(p+k),*(p+k)=t;
}
}
}
3.本体调试过程碰到问题及解决办法
错误信息1:无
错误原因1:无